@directo/adunit 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see content.js.LICENSE.txt */
2
- (()=>{var e={12:(e,t)=>{var n;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,o(n)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)a.call(e,n)&&e[n]&&(t=i(t,n));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},113:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,r=e[a];if(!(0<o(r,t)))break e;e[a]=t,e[n]=r,n=a}}function a(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,r=e.length,i=r>>>1;a<i;){var s=2*(a+1)-1,c=e[s],l=s+1,u=e[l];if(0>o(c,n))l<r&&0>o(u,c)?(e[a]=u,e[l]=n,a=l):(e[a]=c,e[s]=n,a=s);else{if(!(l<r&&0>o(u,n)))break e;e[a]=u,e[l]=n,a=l}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,p=null,h=3,m=!1,f=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function v(e){for(var t=a(u);null!==t;){if(null===t.callback)r(u);else{if(!(t.startTime<=e))break;r(u),t.sortIndex=t.expirationTime,n(l,t)}t=a(u)}}function w(e){if(g=!1,v(e),!f)if(null!==a(l))f=!0,I(j);else{var t=a(u);null!==t&&N(w,t.startTime-e)}}function j(e,n){f=!1,g&&(g=!1,y(z),z=-1),m=!0;var o=h;try{for(v(n),p=a(l);null!==p&&(!(p.expirationTime>n)||e&&!O());){var i=p.callback;if("function"==typeof i){p.callback=null,h=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===a(l)&&r(l),v(n)}else r(l);p=a(l)}if(null!==p)var c=!0;else{var d=a(u);null!==d&&N(w,d.startTime-n),c=!1}return c}finally{p=null,h=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,x=!1,C=null,z=-1,S=5,E=-1;function O(){return!(t.unstable_now()-E<S)}function L(){if(null!==C){var e=t.unstable_now();E=e;var n=!0;try{n=C(!0,e)}finally{n?_():(x=!1,C=null)}}else x=!1}if("function"==typeof k)_=function(){k(L)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,P=A.port2;A.port1.onmessage=L,_=function(){P.postMessage(null)}}else _=function(){b(L,0)};function I(e){C=e,x||(x=!0,_())}function N(e,n){z=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){f||m||(f=!0,I(j))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):S=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return h},t.unstable_getFirstCallbackNode=function(){return a(l)},t.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},t.unstable_scheduleCallback=function(e,r,o){var i=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?i+o:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:r,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>i?(e.sortIndex=o,n(u,e),null===a(l)&&e===a(u)&&(g?(y(z),z=-1):g=!0,N(w,o-i))):(e.sortIndex=s,n(l,e),f||m||(f=!0,I(j))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},218:(e,t,n)=>{"use strict";var a=n(258),r=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var a,o={},l=null,u=null;for(a in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,a)&&!c.hasOwnProperty(a)&&(o[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===o[a]&&(o[a]=t[a]);return{$$typeof:r,type:e,key:l,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=l,t.jsxs=l},258:(e,t,n)=>{"use strict";e.exports=n(973)},340:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,a=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise(function(n,a){function r(n){e.removeListener(t,o),a(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}f(e,t,o,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,r)})},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,n,a){var r,o,i,l;if(s(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),i=o[t]),void 0===i)i=o[t]=n,++e._eventsCount;else if("function"==typeof i?i=o[t]=a?[n,i]:[i,n]:a?i.unshift(n):i.push(n),(r=c(e))>0&&i.length>r&&!i.warned){i.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=i.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=u.bind(a);return r.listener=n,a.wrapFn=r,r}function p(e,t,n){var a=e._events;if(void 0===a)return[];var r=a[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(r):m(r,r.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),a=0;a<t;++a)n[a]=e[a];return n}function f(e,t,n,a){if("function"==typeof e.on)a.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function r(o){a.once&&e.removeEventListener(t,r),n(o)})}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,o=this._events;if(void 0!==o)r=r&&void 0===o.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)a(c,this,t);else{var l=c.length,u=m(c,l);for(n=0;n<l;++n)a(u[n],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return s(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,a,r,o,i;if(s(t),void 0===(a=this._events))return this;if(void 0===(n=a[e]))return this;if(n===t||n.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete a[e],a.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(r=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){i=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,r),1===n.length&&(a[e]=n[0]),void 0!==a.removeListener&&this.emit("removeListener",e,i||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,a;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var r,o=Object.keys(n);for(a=0;a<o.length;++a)"removeListener"!==(r=o[a])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(a=t.length-1;a>=0;a--)this.removeListener(e,t[a]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},413:(e,t,n)=>{"use strict";e.exports=n(594)},420:(e,t,n)=>{"use strict";var a=n(467);t.H=a.createRoot,a.hydrateRoot},467:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(821)},594:(e,t,n)=>{"use strict";var a=n(258),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=a.useState,i=a.useEffect,s=a.useLayoutEffect,c=a.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),a=o({inst:{value:n,getSnapshot:t}}),r=a[0].inst,u=a[1];return s(function(){r.value=n,r.getSnapshot=t,l(r)&&u({inst:r})},[e,n,t]),i(function(){return l(r)&&u({inst:r}),e(function(){l(r)&&u({inst:r})})},[e]),c(n),n};t.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},746:(e,t,n)=>{"use strict";e.exports=n(218)},821:(e,t,n)=>{"use strict";var a=n(258),r=n(860);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},m={};function f(e,t,n,a,r,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){g[e]=new f(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];g[t]=new f(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new f(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new f(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){g[e]=new f(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new f(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new f(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new f(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new f(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function k(e,t,n,a){var r=g.hasOwnProperty(t)?g[t]:null;(null!==r?0!==r.type:a||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,a){if(null==t||function(e,t,n,a){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,a))return!0;if(a)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,a)&&(n=null),a||null===r?function(e){return!!d.call(m,e)||!d.call(h,e)&&(p.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,a=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!1,!1)}),g.xlinkHref=new f("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!0,!0)});var v=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),j=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),z=Symbol.for("react.provider"),S=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var I=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var N=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=N&&e[N]||e["@@iterator"])?e:null}var T,R=Object.assign;function M(e){if(void 0===T)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);T=t&&t[1]||""}return"\n"+T+e}var $=!1;function B(e,t){if(!e||$)return"";$=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var a=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){a=e}e.call(t.prototype)}else{try{throw Error()}catch(e){a=e}e()}}catch(t){if(t&&a&&"string"==typeof t.stack){for(var r=t.stack.split("\n"),o=a.stack.split("\n"),i=r.length-1,s=o.length-1;1<=i&&0<=s&&r[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(r[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||r[i]!==o[s]){var c="\n"+r[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=s);break}}}finally{$=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function U(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return B(e.type,!1);case 11:return B(e.type.render,!1);case 1:return B(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case j:return"Portal";case C:return"Profiler";case x:return"StrictMode";case O:return"Suspense";case L:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case S:return(e.displayName||"Context")+".Consumer";case z:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:V(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return V(e(t))}catch(e){}}return null}function F(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return V(t);case 8:return t===x?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){a=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=H(e)?e.checked?"true":"false":e.value),(e=a)!==n&&(t.setValue(e),!0)}function Y(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function W(e,t){var n=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;n=q(null!=t.value?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&k(e,"checked",t,!1)}function Z(e,t){J(e,t);var n=q(t.value),a=t.type;if(null!=n)"number"===a?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function X(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Y(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,a){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&a&&(e[n].defaultSelected=!0)}else{for(n=""+q(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(a&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function ae(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return R({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function re(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:q(n)}}function oe(e,t){var n=q(t.value),a=q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=a&&(e.defaultValue=""+a)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,a){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var he={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function fe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||he.hasOwnProperty(e)&&he[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),r=fe(n,t[n],a);"float"===n&&(n="cssFloat"),a?e.setProperty(n,r):e[n]=r}}Object.keys(he).forEach(function(e){me.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),he[t]=he[e]})});var be=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ke(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ve=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var je=null,_e=null,xe=null;function Ce(e){if(e=kr(e)){if("function"!=typeof je)throw Error(o(280));var t=e.stateNode;t&&(t=wr(t),je(e.stateNode,e.type,t))}}function ze(e){_e?xe?xe.push(e):xe=[e]:_e=e}function Se(){if(_e){var e=_e,t=xe;if(xe=_e=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Oe(){}var Le=!1;function Ae(e,t,n){if(Le)return e(t,n);Le=!0;try{return Ee(e,t,n)}finally{Le=!1,(null!==_e||null!==xe)&&(Oe(),Se())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var a=wr(n);if(null===a)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Ie=!1;if(u)try{var Ne={};Object.defineProperty(Ne,"passive",{get:function(){Ie=!0}}),window.addEventListener("test",Ne,Ne),window.removeEventListener("test",Ne,Ne)}catch(ue){Ie=!1}function De(e,t,n,a,r,o,i,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var Te=!1,Re=null,Me=!1,$e=null,Be={onError:function(e){Te=!0,Re=e}};function Ue(e,t,n,a,r,o,i,s,c){Te=!1,Re=null,De.apply(Be,arguments)}function Ve(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Fe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function qe(e){if(Ve(e)!==e)throw Error(o(188))}function He(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ve(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,a=t;;){var r=n.return;if(null===r)break;var i=r.alternate;if(null===i){if(null!==(a=r.return)){n=a;continue}break}if(r.child===i.child){for(i=r.child;i;){if(i===n)return qe(r),e;if(i===a)return qe(r),t;i=i.sibling}throw Error(o(188))}if(n.return!==a.return)n=r,a=i;else{for(var s=!1,c=r.child;c;){if(c===n){s=!0,n=r,a=i;break}if(c===a){s=!0,a=r,n=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===n){s=!0,n=i,a=r;break}if(c===a){s=!0,a=i,n=r;break}c=c.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==a)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ke(e):null}function Ke(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ke(e);if(null!==t)return t;e=e.sibling}return null}var Ge=r.unstable_scheduleCallback,Ye=r.unstable_cancelCallback,Qe=r.unstable_shouldYield,We=r.unstable_requestPaint,Je=r.unstable_now,Ze=r.unstable_getCurrentPriorityLevel,Xe=r.unstable_ImmediatePriority,et=r.unstable_UserBlockingPriority,tt=r.unstable_NormalPriority,nt=r.unstable_LowPriority,at=r.unstable_IdlePriority,rt=null,ot=null,it=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2,lt=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var a=0,r=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~r;0!==s?a=dt(s):0!==(o&=i)&&(a=dt(o))}else 0!==(i=n&~r)?a=dt(i):0!==o&&(a=dt(o));if(0===a)return 0;if(0!==t&&t!==a&&0===(t&r)&&((r=a&-a)>=(o=t&-t)||16===r&&4194240&o))return t;if(4&a&&(a|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0<t;)r=1<<(n=31-it(t)),a|=e[n],t&=~r;return a}function ht(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ft(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-it(n),r=1<<a;r&t|e[a]&t&&(e[a]|=t),n&=~r}}var kt=0;function vt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,jt,_t,xt,Ct,zt=!1,St=[],Et=null,Ot=null,Lt=null,At=new Map,Pt=new Map,It=[],Nt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":Lt=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Tt(e,t,n,a,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=kr(t))&&jt(t),e):(e.eventSystemFlags|=a,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Rt(e){var t=yr(e.target);if(null!==t){var n=Ve(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Fe(n)))return e.blockedOn=t,void Ct(e.priority,function(){_t(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=kr(n))&&jt(t),e.blockedOn=n,!1;var a=new(n=e.nativeEvent).constructor(n.type,n);ve=a,n.target.dispatchEvent(a),ve=null,t.shift()}return!0}function $t(e,t,n){Mt(e)&&n.delete(t)}function Bt(){zt=!1,null!==Et&&Mt(Et)&&(Et=null),null!==Ot&&Mt(Ot)&&(Ot=null),null!==Lt&&Mt(Lt)&&(Lt=null),At.forEach($t),Pt.forEach($t)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,zt||(zt=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Bt)))}function Vt(e){function t(t){return Ut(t,e)}if(0<St.length){Ut(St[0],e);for(var n=1;n<St.length;n++){var a=St[n];a.blockedOn===e&&(a.blockedOn=null)}}for(null!==Et&&Ut(Et,e),null!==Ot&&Ut(Ot,e),null!==Lt&&Ut(Lt,e),At.forEach(t),Pt.forEach(t),n=0;n<It.length;n++)(a=It[n]).blockedOn===e&&(a.blockedOn=null);for(;0<It.length&&null===(n=It[0]).blockedOn;)Rt(n),null===n.blockedOn&&It.shift()}var Ft=v.ReactCurrentBatchConfig,qt=!0;function Ht(e,t,n,a){var r=kt,o=Ft.transition;Ft.transition=null;try{kt=1,Gt(e,t,n,a)}finally{kt=r,Ft.transition=o}}function Kt(e,t,n,a){var r=kt,o=Ft.transition;Ft.transition=null;try{kt=4,Gt(e,t,n,a)}finally{kt=r,Ft.transition=o}}function Gt(e,t,n,a){if(qt){var r=Qt(e,t,n,a);if(null===r)qa(e,t,a,Yt,n),Dt(e,a);else if(function(e,t,n,a,r){switch(t){case"focusin":return Et=Tt(Et,e,t,n,a,r),!0;case"dragenter":return Ot=Tt(Ot,e,t,n,a,r),!0;case"mouseover":return Lt=Tt(Lt,e,t,n,a,r),!0;case"pointerover":var o=r.pointerId;return At.set(o,Tt(At.get(o)||null,e,t,n,a,r)),!0;case"gotpointercapture":return o=r.pointerId,Pt.set(o,Tt(Pt.get(o)||null,e,t,n,a,r)),!0}return!1}(r,e,t,n,a))a.stopPropagation();else if(Dt(e,a),4&t&&-1<Nt.indexOf(e)){for(;null!==r;){var o=kr(r);if(null!==o&&wt(o),null===(o=Qt(e,t,n,a))&&qa(e,t,a,Yt,n),o===r)break;r=o}null!==r&&a.stopPropagation()}else qa(e,t,a,null,n)}}var Yt=null;function Qt(e,t,n,a){if(Yt=null,null!==(e=yr(e=we(a))))if(null===(t=Ve(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Fe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function Wt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ze()){case Xe:return 1;case et:return 4;case tt:case nt:return 16;case at:return 536870912;default:return 16}default:return 16}}var Jt=null,Zt=null,Xt=null;function en(){if(Xt)return Xt;var e,t,n=Zt,a=n.length,r="value"in Jt?Jt.value:Jt.textContent,o=r.length;for(e=0;e<a&&n[e]===r[e];e++);var i=a-e;for(t=1;t<=i&&n[a-t]===r[o-t];t++);return Xt=r.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function an(){return!1}function rn(e){function t(t,n,a,r,o){for(var i in this._reactName=t,this._targetInst=a,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(r):r[i]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?nn:an,this.isPropagationStopped=an,this}return R(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=rn(ln),dn=R({},ln,{view:0,detail:0}),pn=rn(dn),hn=R({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(on=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=on=0,cn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=rn(hn),fn=rn(R({},hn,{dataTransfer:0})),gn=rn(R({},dn,{relatedTarget:0})),bn=rn(R({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=R({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=rn(yn),vn=rn(R({},ln,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},jn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Cn(){return xn}var zn=R({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?jn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Sn=rn(zn),En=rn(R({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=rn(R({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Ln=rn(R({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=R({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=rn(An),In=[9,13,27,32],Nn=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var Tn=u&&"TextEvent"in window&&!Dn,Rn=u&&(!Nn||Dn&&8<Dn&&11>=Dn),Mn=String.fromCharCode(32),$n=!1;function Bn(e,t){switch(e){case"keyup":return-1!==In.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Vn=!1,Fn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Fn[e.type]:"textarea"===t}function Hn(e,t,n,a){ze(a),0<(t=Ka(t,"onChange")).length&&(n=new un("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Kn=null,Gn=null;function Yn(e){Ma(e,0)}function Qn(e){if(G(vr(e)))return e}function Wn(e,t){if("change"===e)return t}var Jn=!1;if(u){var Zn;if(u){var Xn="oninput"in document;if(!Xn){var ea=document.createElement("div");ea.setAttribute("oninput","return;"),Xn="function"==typeof ea.oninput}Zn=Xn}else Zn=!1;Jn=Zn&&(!document.documentMode||9<document.documentMode)}function ta(){Kn&&(Kn.detachEvent("onpropertychange",na),Gn=Kn=null)}function na(e){if("value"===e.propertyName&&Qn(Gn)){var t=[];Hn(t,Gn,e,we(e)),Ae(Yn,t)}}function aa(e,t,n){"focusin"===e?(ta(),Gn=n,(Kn=t).attachEvent("onpropertychange",na)):"focusout"===e&&ta()}function ra(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Gn)}function oa(e,t){if("click"===e)return Qn(t)}function ia(e,t){if("input"===e||"change"===e)return Qn(t)}var sa="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ca(e,t){if(sa(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var r=n[a];if(!d.call(t,r)||!sa(e[r],t[r]))return!1}return!0}function la(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ua(e,t){var n,a=la(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=la(a)}}function da(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?da(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pa(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Y((e=t.contentWindow).document)}return t}function ha(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ma(e){var t=pa(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&da(n.ownerDocument.documentElement,n)){if(null!==a&&ha(n))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,o=Math.min(a.start,r);a=void 0===a.end?o:Math.min(a.end,r),!e.extend&&o>a&&(r=a,a=o,o=r),r=ua(n,o);var i=ua(n,a);r&&i&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),o>a?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var fa=u&&"documentMode"in document&&11>=document.documentMode,ga=null,ba=null,ya=null,ka=!1;function va(e,t,n){var a=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ka||null==ga||ga!==Y(a)||(a="selectionStart"in(a=ga)&&ha(a)?{start:a.selectionStart,end:a.selectionEnd}:{anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},ya&&ca(ya,a)||(ya=a,0<(a=Ka(ba,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ga)))}function wa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ja={animationend:wa("Animation","AnimationEnd"),animationiteration:wa("Animation","AnimationIteration"),animationstart:wa("Animation","AnimationStart"),transitionend:wa("Transition","TransitionEnd")},_a={},xa={};function Ca(e){if(_a[e])return _a[e];if(!ja[e])return e;var t,n=ja[e];for(t in n)if(n.hasOwnProperty(t)&&t in xa)return _a[e]=n[t];return e}u&&(xa=document.createElement("div").style,"AnimationEvent"in window||(delete ja.animationend.animation,delete ja.animationiteration.animation,delete ja.animationstart.animation),"TransitionEvent"in window||delete ja.transitionend.transition);var za=Ca("animationend"),Sa=Ca("animationiteration"),Ea=Ca("animationstart"),Oa=Ca("transitionend"),La=new Map,Aa="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pa(e,t){La.set(e,t),c(t,[e])}for(var Ia=0;Ia<Aa.length;Ia++){var Na=Aa[Ia];Pa(Na.toLowerCase(),"on"+(Na[0].toUpperCase()+Na.slice(1)))}Pa(za,"onAnimationEnd"),Pa(Sa,"onAnimationIteration"),Pa(Ea,"onAnimationStart"),Pa("dblclick","onDoubleClick"),Pa("focusin","onFocus"),Pa("focusout","onBlur"),Pa(Oa,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Da="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ta=new Set("cancel close invalid load scroll toggle".split(" ").concat(Da));function Ra(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,a,r,i,s,c,l){if(Ue.apply(this,arguments),Te){if(!Te)throw Error(o(198));var u=Re;Te=!1,Re=null,Me||(Me=!0,$e=u)}}(a,t,void 0,e),e.currentTarget=null}function Ma(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var a=e[n],r=a.event;a=a.listeners;e:{var o=void 0;if(t)for(var i=a.length-1;0<=i;i--){var s=a[i],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==o&&r.isPropagationStopped())break e;Ra(r,s,l),o=c}else for(i=0;i<a.length;i++){if(c=(s=a[i]).instance,l=s.currentTarget,s=s.listener,c!==o&&r.isPropagationStopped())break e;Ra(r,s,l),o=c}}}if(Me)throw e=$e,Me=!1,$e=null,e}function $a(e,t){var n=t[fr];void 0===n&&(n=t[fr]=new Set);var a=e+"__bubble";n.has(a)||(Fa(t,e,2,!1),n.add(a))}function Ba(e,t,n){var a=0;t&&(a|=4),Fa(n,e,a,t)}var Ua="_reactListening"+Math.random().toString(36).slice(2);function Va(e){if(!e[Ua]){e[Ua]=!0,i.forEach(function(t){"selectionchange"!==t&&(Ta.has(t)||Ba(t,!1,e),Ba(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ua]||(t[Ua]=!0,Ba("selectionchange",!1,t))}}function Fa(e,t,n,a){switch(Wt(t)){case 1:var r=Ht;break;case 4:r=Kt;break;default:r=Gt}n=r.bind(null,t,n,e),r=void 0,!Ie||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),a?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function qa(e,t,n,a,r){var o=a;if(!(1&t||2&t||null===a))e:for(;;){if(null===a)return;var i=a.tag;if(3===i||4===i){var s=a.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===i)for(i=a.return;null!==i;){var c=i.tag;if((3===c||4===c)&&((c=i.stateNode.containerInfo)===r||8===c.nodeType&&c.parentNode===r))return;i=i.return}for(;null!==s;){if(null===(i=yr(s)))return;if(5===(c=i.tag)||6===c){a=o=i;continue e}s=s.parentNode}}a=a.return}Ae(function(){var a=o,r=we(n),i=[];e:{var s=La.get(e);if(void 0!==s){var c=un,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=Sn;break;case"focusin":l="focus",c=gn;break;case"focusout":l="blur",c=gn;break;case"beforeblur":case"afterblur":c=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=fn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=On;break;case za:case Sa:case Ea:c=bn;break;case Oa:c=Ln;break;case"scroll":c=pn;break;case"wheel":c=Pn;break;case"copy":case"cut":case"paste":c=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=En}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var h,m=a;null!==m;){var f=(h=m).stateNode;if(5===h.tag&&null!==f&&(h=f,null!==p&&null!=(f=Pe(m,p))&&u.push(Ha(m,f,h))),d)break;m=m.return}0<u.length&&(s=new c(s,l,null,n,r),i.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===ve||!(l=n.relatedTarget||n.fromElement)||!yr(l)&&!l[mr])&&(c||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=a,null!==(l=(l=n.relatedTarget||n.toElement)?yr(l):null)&&(l!==(d=Ve(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=a),c!==l)){if(u=mn,f="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=En,f="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==c?s:vr(c),h=null==l?s:vr(l),(s=new u(f,m+"leave",c,n,r)).target=d,s.relatedTarget=h,f=null,yr(r)===a&&((u=new u(p,m+"enter",l,n,r)).target=h,u.relatedTarget=d,f=u),d=f,c&&l)e:{for(p=l,m=0,h=u=c;h;h=Ga(h))m++;for(h=0,f=p;f;f=Ga(f))h++;for(;0<m-h;)u=Ga(u),m--;for(;0<h-m;)p=Ga(p),h--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Ga(u),p=Ga(p)}u=null}else u=null;null!==c&&Ya(i,s,c,u,!1),null!==l&&null!==d&&Ya(i,d,l,u,!0)}if("select"===(c=(s=a?vr(a):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var g=Wn;else if(qn(s))if(Jn)g=ia;else{g=ra;var b=aa}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=oa);switch(g&&(g=g(e,a))?Hn(i,g,n,r):(b&&b(e,s,a),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=a?vr(a):window,e){case"focusin":(qn(b)||"true"===b.contentEditable)&&(ga=b,ba=a,ya=null);break;case"focusout":ya=ba=ga=null;break;case"mousedown":ka=!0;break;case"contextmenu":case"mouseup":case"dragend":ka=!1,va(i,n,r);break;case"selectionchange":if(fa)break;case"keydown":case"keyup":va(i,n,r)}var y;if(Nn)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Vn?Bn(e,n)&&(k="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(k="onCompositionStart");k&&(Rn&&"ko"!==n.locale&&(Vn||"onCompositionStart"!==k?"onCompositionEnd"===k&&Vn&&(y=en()):(Zt="value"in(Jt=r)?Jt.value:Jt.textContent,Vn=!0)),0<(b=Ka(a,k)).length&&(k=new vn(k,e,null,n,r),i.push({event:k,listeners:b}),(y||null!==(y=Un(n)))&&(k.data=y))),(y=Tn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:($n=!0,Mn);case"textInput":return(e=t.data)===Mn&&$n?null:e;default:return null}}(e,n):function(e,t){if(Vn)return"compositionend"===e||!Nn&&Bn(e,t)?(e=en(),Xt=Zt=Jt=null,Vn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Rn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(a=Ka(a,"onBeforeInput")).length&&(r=new vn("onBeforeInput","beforeinput",null,n,r),i.push({event:r,listeners:a}),r.data=y)}Ma(i,t)})}function Ha(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ka(e,t){for(var n=t+"Capture",a=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=Pe(e,n))&&a.unshift(Ha(e,o,r)),null!=(o=Pe(e,t))&&a.push(Ha(e,o,r))),e=e.return}return a}function Ga(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Ya(e,t,n,a,r){for(var o=t._reactName,i=[];null!==n&&n!==a;){var s=n,c=s.alternate,l=s.stateNode;if(null!==c&&c===a)break;5===s.tag&&null!==l&&(s=l,r?null!=(c=Pe(n,o))&&i.unshift(Ha(n,c,s)):r||null!=(c=Pe(n,o))&&i.push(Ha(n,c,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qa=/\r\n?/g,Wa=/\u0000|\uFFFD/g;function Ja(e){return("string"==typeof e?e:""+e).replace(Qa,"\n").replace(Wa,"")}function Za(e,t,n){if(t=Ja(t),Ja(e)!==t&&n)throw Error(o(425))}function Xa(){}var er=null,tr=null;function nr(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ar="function"==typeof setTimeout?setTimeout:void 0,rr="function"==typeof clearTimeout?clearTimeout:void 0,or="function"==typeof Promise?Promise:void 0,ir="function"==typeof queueMicrotask?queueMicrotask:void 0!==or?function(e){return or.resolve(null).then(e).catch(sr)}:ar;function sr(e){setTimeout(function(){throw e})}function cr(e,t){var n=t,a=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===a)return e.removeChild(r),void Vt(t);a--}else"$"!==n&&"$?"!==n&&"$!"!==n||a++;n=r}while(n);Vt(t)}function lr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ur(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var dr=Math.random().toString(36).slice(2),pr="__reactFiber$"+dr,hr="__reactProps$"+dr,mr="__reactContainer$"+dr,fr="__reactEvents$"+dr,gr="__reactListeners$"+dr,br="__reactHandles$"+dr;function yr(e){var t=e[pr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mr]||n[pr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ur(e);null!==e;){if(n=e[pr])return n;e=ur(e)}return t}n=(e=n).parentNode}return null}function kr(e){return!(e=e[pr]||e[mr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function vr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function wr(e){return e[hr]||null}var jr=[],_r=-1;function xr(e){return{current:e}}function Cr(e){0>_r||(e.current=jr[_r],jr[_r]=null,_r--)}function zr(e,t){_r++,jr[_r]=e.current,e.current=t}var Sr={},Er=xr(Sr),Or=xr(!1),Lr=Sr;function Ar(e,t){var n=e.type.contextTypes;if(!n)return Sr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Pr(e){return null!=e.childContextTypes}function Ir(){Cr(Or),Cr(Er)}function Nr(e,t,n){if(Er.current!==Sr)throw Error(o(168));zr(Er,t),zr(Or,n)}function Dr(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return n;for(var r in a=a.getChildContext())if(!(r in t))throw Error(o(108,F(e)||"Unknown",r));return R({},n,a)}function Tr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Sr,Lr=Er.current,zr(Er,e),zr(Or,Or.current),!0}function Rr(e,t,n){var a=e.stateNode;if(!a)throw Error(o(169));n?(e=Dr(e,t,Lr),a.__reactInternalMemoizedMergedChildContext=e,Cr(Or),Cr(Er),zr(Er,e)):Cr(Or),zr(Or,n)}var Mr=null,$r=!1,Br=!1;function Ur(e){null===Mr?Mr=[e]:Mr.push(e)}function Vr(){if(!Br&&null!==Mr){Br=!0;var e=0,t=kt;try{var n=Mr;for(kt=1;e<n.length;e++){var a=n[e];do{a=a(!0)}while(null!==a)}Mr=null,$r=!1}catch(t){throw null!==Mr&&(Mr=Mr.slice(e+1)),Ge(Xe,Vr),t}finally{kt=t,Br=!1}}return null}var Fr=[],qr=0,Hr=null,Kr=0,Gr=[],Yr=0,Qr=null,Wr=1,Jr="";function Zr(e,t){Fr[qr++]=Kr,Fr[qr++]=Hr,Hr=e,Kr=t}function Xr(e,t,n){Gr[Yr++]=Wr,Gr[Yr++]=Jr,Gr[Yr++]=Qr,Qr=e;var a=Wr;e=Jr;var r=32-it(a)-1;a&=~(1<<r),n+=1;var o=32-it(t)+r;if(30<o){var i=r-r%5;o=(a&(1<<i)-1).toString(32),a>>=i,r-=i,Wr=1<<32-it(t)+r|n<<r|a,Jr=o+e}else Wr=1<<o|n<<r|a,Jr=e}function eo(e){null!==e.return&&(Zr(e,1),Xr(e,1,0))}function to(e){for(;e===Hr;)Hr=Fr[--qr],Fr[qr]=null,Kr=Fr[--qr],Fr[qr]=null;for(;e===Qr;)Qr=Gr[--Yr],Gr[Yr]=null,Jr=Gr[--Yr],Gr[Yr]=null,Wr=Gr[--Yr],Gr[Yr]=null}var no=null,ao=null,ro=!1,oo=null;function io(e,t){var n=Al(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function so(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ao=lr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ao=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qr?{id:Wr,overflow:Jr}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Al(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ao=null,!0);default:return!1}}function co(e){return!(!(1&e.mode)||128&e.flags)}function lo(e){if(ro){var t=ao;if(t){var n=t;if(!so(e,t)){if(co(e))throw Error(o(418));t=lr(n.nextSibling);var a=no;t&&so(e,t)?io(a,n):(e.flags=-4097&e.flags|2,ro=!1,no=e)}}else{if(co(e))throw Error(o(418));e.flags=-4097&e.flags|2,ro=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ro)return uo(e),ro=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!nr(e.type,e.memoizedProps)),t&&(t=ao)){if(co(e))throw ho(),Error(o(418));for(;t;)io(e,t),t=lr(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ao=lr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ao=null}}else ao=no?lr(e.stateNode.nextSibling):null;return!0}function ho(){for(var e=ao;e;)e=lr(e.nextSibling)}function mo(){ao=no=null,ro=!1}function fo(e){null===oo?oo=[e]:oo.push(e)}var go=v.ReactCurrentBatchConfig;function bo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var a=n.stateNode}if(!a)throw Error(o(147,e));var r=a,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=r.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function yo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ko(e){return(0,e._init)(e._payload)}function vo(e){function t(t,n){if(e){var a=t.deletions;null===a?(t.deletions=[n],t.flags|=16):a.push(n)}}function n(n,a){if(!e)return null;for(;null!==a;)t(n,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Il(e,t)).index=0,e.sibling=null,e}function i(t,n,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<n?(t.flags|=2,n):a:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,a){return null===t||6!==t.tag?((t=Rl(n,e.mode,a)).return=e,t):((t=r(t,n)).return=e,t)}function l(e,t,n,a){var o=n.type;return o===_?d(e,t,n.props.children,a,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===P&&ko(o)===t.type)?((a=r(t,n.props)).ref=bo(e,t,n),a.return=e,a):((a=Nl(n.type,n.key,n.props,null,e.mode,a)).ref=bo(e,t,n),a.return=e,a)}function u(e,t,n,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ml(n,e.mode,a)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,a,o){return null===t||7!==t.tag?((t=Dl(n,e.mode,a,o)).return=e,t):((t=r(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Rl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Nl(t.type,t.key,t.props,null,e.mode,n)).ref=bo(e,null,t),n.return=e,n;case j:return(t=Ml(t,e.mode,n)).return=e,t;case P:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dl(t,e.mode,n,null)).return=e,t;yo(e,t)}return null}function h(e,t,n,a){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:c(e,t,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===r?l(e,t,n,a):null;case j:return n.key===r?u(e,t,n,a):null;case P:return h(e,t,(r=n._init)(n._payload),a)}if(te(n)||D(n))return null!==r?null:d(e,t,n,a,null);yo(e,n)}return null}function m(e,t,n,a,r){if("string"==typeof a&&""!==a||"number"==typeof a)return c(t,e=e.get(n)||null,""+a,r);if("object"==typeof a&&null!==a){switch(a.$$typeof){case w:return l(t,e=e.get(null===a.key?n:a.key)||null,a,r);case j:return u(t,e=e.get(null===a.key?n:a.key)||null,a,r);case P:return m(e,t,n,(0,a._init)(a._payload),r)}if(te(a)||D(a))return d(t,e=e.get(n)||null,a,r,null);yo(t,a)}return null}function f(r,o,s,c){for(var l=null,u=null,d=o,f=o=0,g=null;null!==d&&f<s.length;f++){d.index>f?(g=d,d=null):g=d.sibling;var b=h(r,d,s[f],c);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(r,d),o=i(b,o,f),null===u?l=b:u.sibling=b,u=b,d=g}if(f===s.length)return n(r,d),ro&&Zr(r,f),l;if(null===d){for(;f<s.length;f++)null!==(d=p(r,s[f],c))&&(o=i(d,o,f),null===u?l=d:u.sibling=d,u=d);return ro&&Zr(r,f),l}for(d=a(r,d);f<s.length;f++)null!==(g=m(d,r,f,s[f],c))&&(e&&null!==g.alternate&&d.delete(null===g.key?f:g.key),o=i(g,o,f),null===u?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),ro&&Zr(r,f),l}function g(r,s,c,l){var u=D(c);if("function"!=typeof u)throw Error(o(150));if(null==(c=u.call(c)))throw Error(o(151));for(var d=u=null,f=s,g=s=0,b=null,y=c.next();null!==f&&!y.done;g++,y=c.next()){f.index>g?(b=f,f=null):b=f.sibling;var k=h(r,f,y.value,l);if(null===k){null===f&&(f=b);break}e&&f&&null===k.alternate&&t(r,f),s=i(k,s,g),null===d?u=k:d.sibling=k,d=k,f=b}if(y.done)return n(r,f),ro&&Zr(r,g),u;if(null===f){for(;!y.done;g++,y=c.next())null!==(y=p(r,y.value,l))&&(s=i(y,s,g),null===d?u=y:d.sibling=y,d=y);return ro&&Zr(r,g),u}for(f=a(r,f);!y.done;g++,y=c.next())null!==(y=m(f,r,g,y.value,l))&&(e&&null!==y.alternate&&f.delete(null===y.key?g:y.key),s=i(y,s,g),null===d?u=y:d.sibling=y,d=y);return e&&f.forEach(function(e){return t(r,e)}),ro&&Zr(r,g),u}return function e(a,o,i,c){if("object"==typeof i&&null!==i&&i.type===_&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var l=i.key,u=o;null!==u;){if(u.key===l){if((l=i.type)===_){if(7===u.tag){n(a,u.sibling),(o=r(u,i.props.children)).return=a,a=o;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===P&&ko(l)===u.type){n(a,u.sibling),(o=r(u,i.props)).ref=bo(a,u,i),o.return=a,a=o;break e}n(a,u);break}t(a,u),u=u.sibling}i.type===_?((o=Dl(i.props.children,a.mode,c,i.key)).return=a,a=o):((c=Nl(i.type,i.key,i.props,null,a.mode,c)).ref=bo(a,o,i),c.return=a,a=c)}return s(a);case j:e:{for(u=i.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(a,o.sibling),(o=r(o,i.children||[])).return=a,a=o;break e}n(a,o);break}t(a,o),o=o.sibling}(o=Ml(i,a.mode,c)).return=a,a=o}return s(a);case P:return e(a,o,(u=i._init)(i._payload),c)}if(te(i))return f(a,o,i,c);if(D(i))return g(a,o,i,c);yo(a,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(a,o.sibling),(o=r(o,i)).return=a,a=o):(n(a,o),(o=Rl(i,a.mode,c)).return=a,a=o),s(a)):n(a,o)}}var wo=vo(!0),jo=vo(!1),_o=xr(null),xo=null,Co=null,zo=null;function So(){zo=Co=xo=null}function Eo(e){var t=_o.current;Cr(_o),e._currentValue=t}function Oo(e,t,n){for(;null!==e;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==a&&(a.childLanes|=t)):null!==a&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Lo(e,t){xo=e,zo=Co=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ks=!0),e.firstContext=null)}function Ao(e){var t=e._currentValue;if(zo!==e)if(e={context:e,memoizedValue:t,next:null},null===Co){if(null===xo)throw Error(o(308));Co=e,xo.dependencies={lanes:0,firstContext:e}}else Co=Co.next=e;return t}var Po=null;function Io(e){null===Po?Po=[e]:Po.push(e)}function No(e,t,n,a){var r=t.interleaved;return null===r?(n.next=n,Io(t)):(n.next=r.next,r.next=n),t.interleaved=n,Do(e,a)}function Do(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var To=!1;function Ro(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $o(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bo(e,t,n){var a=e.updateQueue;if(null===a)return null;if(a=a.shared,2&Ec){var r=a.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),a.pending=t,Do(e,n)}return null===(r=a.interleaved)?(t.next=t,Io(a)):(t.next=r.next,r.next=t),a.interleaved=t,Do(e,n)}function Uo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Vo(e,t){var n=e.updateQueue,a=e.alternate;if(null!==a&&n===(a=a.updateQueue)){var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;return n={baseState:a.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:a.shared,effects:a.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Fo(e,t,n,a){var r=e.updateQueue;To=!1;var o=r.firstBaseUpdate,i=r.lastBaseUpdate,s=r.shared.pending;if(null!==s){r.shared.pending=null;var c=s,l=c.next;c.next=null,null===i?o=l:i.next=l,i=c;var u=e.alternate;null!==u&&(s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c)}if(null!==o){var d=r.baseState;for(i=0,u=l=c=null,s=o;;){var p=s.lane,h=s.eventTime;if((a&p)===p){null!==u&&(u=u.next={eventTime:h,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,f=s;switch(p=t,h=n,f.tag){case 1:if("function"==typeof(m=f.payload)){d=m.call(h,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=f.payload)?m.call(h,d,p):m))break e;d=R({},d,p);break e;case 2:To=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=r.effects)?r.effects=[s]:p.push(s))}else h={eventTime:h,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=h,c=d):u=u.next=h,i|=p;if(null===(s=s.next)){if(null===(s=r.shared.pending))break;s=(p=s).next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}if(null===u&&(c=d),r.baseState=c,r.firstBaseUpdate=l,r.lastBaseUpdate=u,null!==(t=r.shared.interleaved)){r=t;do{i|=r.lane,r=r.next}while(r!==t)}else null===o&&(r.shared.lanes=0);Tc|=i,e.lanes=i,e.memoizedState=d}}function qo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],r=a.callback;if(null!==r){if(a.callback=null,a=n,"function"!=typeof r)throw Error(o(191,r));r.call(a)}}}var Ho={},Ko=xr(Ho),Go=xr(Ho),Yo=xr(Ho);function Qo(e){if(e===Ho)throw Error(o(174));return e}function Wo(e,t){switch(zr(Yo,t),zr(Go,e),zr(Ko,Ho),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Cr(Ko),zr(Ko,t)}function Jo(){Cr(Ko),Cr(Go),Cr(Yo)}function Zo(e){Qo(Yo.current);var t=Qo(Ko.current),n=ce(t,e.type);t!==n&&(zr(Go,e),zr(Ko,n))}function Xo(e){Go.current===e&&(Cr(Ko),Cr(Go))}var ei=xr(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ai(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var ri=v.ReactCurrentDispatcher,oi=v.ReactCurrentBatchConfig,ii=0,si=null,ci=null,li=null,ui=!1,di=!1,pi=0,hi=0;function mi(){throw Error(o(321))}function fi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sa(e[n],t[n]))return!1;return!0}function gi(e,t,n,a,r,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ri.current=null===e||null===e.memoizedState?Xi:es,e=n(a,r),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(o(301));i+=1,li=ci=null,t.updateQueue=null,ri.current=ts,e=n(a,r)}while(di)}if(ri.current=Zi,t=null!==ci&&null!==ci.next,ii=0,li=ci=si=null,ui=!1,t)throw Error(o(300));return e}function bi(){var e=0!==pi;return pi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===li?si.memoizedState=li=e:li=li.next=e,li}function ki(){if(null===ci){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=ci.next;var t=null===li?si.memoizedState:li.next;if(null!==t)li=t,ci=e;else{if(null===e)throw Error(o(310));e={memoizedState:(ci=e).memoizedState,baseState:ci.baseState,baseQueue:ci.baseQueue,queue:ci.queue,next:null},null===li?si.memoizedState=li=e:li=li.next=e}return li}function vi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=ki(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var a=ci,r=a.baseQueue,i=n.pending;if(null!==i){if(null!==r){var s=r.next;r.next=i.next,i.next=s}a.baseQueue=r=i,n.pending=null}if(null!==r){i=r.next,a=a.baseState;var c=s=null,l=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),a=u.hasEagerState?u.eagerState:e(a,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=p,s=a):l=l.next=p,si.lanes|=d,Tc|=d}u=u.next}while(null!==u&&u!==i);null===l?s=a:l.next=c,sa(a,t.memoizedState)||(ks=!0),t.memoizedState=a,t.baseState=s,t.baseQueue=l,n.lastRenderedState=a}if(null!==(e=n.interleaved)){r=e;do{i=r.lane,si.lanes|=i,Tc|=i,r=r.next}while(r!==e)}else null===r&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ji(e){var t=ki(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var a=n.dispatch,r=n.pending,i=t.memoizedState;if(null!==r){n.pending=null;var s=r=r.next;do{i=e(i,s.action),s=s.next}while(s!==r);sa(i,t.memoizedState)||(ks=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function _i(){}function xi(e,t){var n=si,a=ki(),r=t(),i=!sa(a.memoizedState,r);if(i&&(a.memoizedState=r,ks=!0),a=a.queue,Ti(Si.bind(null,n,a,e),[e]),a.getSnapshot!==t||i||null!==li&&1&li.memoizedState.tag){if(n.flags|=2048,Ai(9,zi.bind(null,n,a,r,t),void 0,null),null===Oc)throw Error(o(349));30&ii||Ci(n,t,r)}return r}function Ci(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function zi(e,t,n,a){t.value=n,t.getSnapshot=a,Ei(t)&&Oi(e)}function Si(e,t,n){return n(function(){Ei(t)&&Oi(e)})}function Ei(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sa(e,n)}catch(e){return!0}}function Oi(e){var t=Do(e,1);null!==t&&nl(t,e,1,-1)}function Li(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:e},t.queue=e,e=e.dispatch=Yi.bind(null,si,e),[t.memoizedState,e]}function Ai(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function Pi(){return ki().memoizedState}function Ii(e,t,n,a){var r=yi();si.flags|=e,r.memoizedState=Ai(1|t,n,void 0,void 0===a?null:a)}function Ni(e,t,n,a){var r=ki();a=void 0===a?null:a;var o=void 0;if(null!==ci){var i=ci.memoizedState;if(o=i.destroy,null!==a&&fi(a,i.deps))return void(r.memoizedState=Ai(t,n,o,a))}si.flags|=e,r.memoizedState=Ai(1|t,n,o,a)}function Di(e,t){return Ii(8390656,8,e,t)}function Ti(e,t){return Ni(2048,8,e,t)}function Ri(e,t){return Ni(4,2,e,t)}function Mi(e,t){return Ni(4,4,e,t)}function $i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4,4,$i.bind(null,t,e),n)}function Ui(){}function Vi(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Fi(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function qi(e,t,n){return 21&ii?(sa(n,t)||(n=ft(),si.lanes|=n,Tc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ks=!0),e.memoizedState=n)}function Hi(e,t){var n=kt;kt=0!==n&&4>n?n:4,e(!0);var a=oi.transition;oi.transition={};try{e(!1),t()}finally{kt=n,oi.transition=a}}function Ki(){return ki().memoizedState}function Gi(e,t,n){var a=tl(e);n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Qi(e)?Wi(t,n):null!==(n=No(e,t,n,a))&&(nl(n,e,a,el()),Ji(n,t,a))}function Yi(e,t,n){var a=tl(e),r={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qi(e))Wi(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=o(i,n);if(r.hasEagerState=!0,r.eagerState=s,sa(s,i)){var c=t.interleaved;return null===c?(r.next=r,Io(t)):(r.next=c.next,c.next=r),void(t.interleaved=r)}}catch(e){}null!==(n=No(e,t,r,a))&&(nl(n,e,a,r=el()),Ji(n,t,a))}}function Qi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Wi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ji(e,t,n){if(4194240&n){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Zi={readContext:Ao,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Xi={readContext:Ao,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:Ao,useEffect:Di,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ii(4194308,4,$i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ii(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ii(4,2,e,t)},useMemo:function(e,t){var n=yi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=yi();return t=void 0!==n?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=Gi.bind(null,si,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Li,useDebugValue:Ui,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Li(!1),t=e[0];return e=Hi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=si,r=yi();if(ro){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Oc)throw Error(o(349));30&ii||Ci(a,t,n)}r.memoizedState=n;var i={value:n,getSnapshot:t};return r.queue=i,Di(Si.bind(null,a,i,e),[e]),a.flags|=2048,Ai(9,zi.bind(null,a,i,n,t),void 0,null),n},useId:function(){var e=yi(),t=Oc.identifierPrefix;if(ro){var n=Jr;t=":"+t+"R"+(n=(Wr&~(1<<32-it(Wr)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=hi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Ao,useCallback:Vi,useContext:Ao,useEffect:Ti,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Fi,useReducer:wi,useRef:Pi,useState:function(){return wi(vi)},useDebugValue:Ui,useDeferredValue:function(e){return qi(ki(),ci.memoizedState,e)},useTransition:function(){return[wi(vi)[0],ki().memoizedState]},useMutableSource:_i,useSyncExternalStore:xi,useId:Ki,unstable_isNewReconciler:!1},ts={readContext:Ao,useCallback:Vi,useContext:Ao,useEffect:Ti,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Fi,useReducer:ji,useRef:Pi,useState:function(){return ji(vi)},useDebugValue:Ui,useDeferredValue:function(e){var t=ki();return null===ci?t.memoizedState=e:qi(t,ci.memoizedState,e)},useTransition:function(){return[ji(vi)[0],ki().memoizedState]},useMutableSource:_i,useSyncExternalStore:xi,useId:Ki,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=R({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function as(e,t,n,a){n=null==(n=n(a,t=e.memoizedState))?t:R({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var rs={isMounted:function(e){return!!(e=e._reactInternals)&&Ve(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),o=$o(a,r);o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,r))&&(nl(t,e,r,a),Uo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),o=$o(a,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,r))&&(nl(t,e,r,a),Uo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=el(),a=tl(e),r=$o(n,a);r.tag=2,null!=t&&(r.callback=t),null!==(t=Bo(e,r,a))&&(nl(t,e,a,n),Uo(t,e,a))}};function os(e,t,n,a,r,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(a,o,i):!(t.prototype&&t.prototype.isPureReactComponent&&ca(n,a)&&ca(r,o))}function is(e,t,n){var a=!1,r=Sr,o=t.contextType;return"object"==typeof o&&null!==o?o=Ao(o):(r=Pr(t)?Lr:Er.current,o=(a=null!=(a=t.contextTypes))?Ar(e,r):Sr),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=rs,e.stateNode=t,t._reactInternals=e,a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function ss(e,t,n,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&rs.enqueueReplaceState(t,t.state,null)}function cs(e,t,n,a){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Ro(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=Ao(o):(o=Pr(t)?Lr:Er.current,r.context=Ar(e,o)),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(as(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&rs.enqueueReplaceState(r,r.state,null),Fo(e,n,r,a),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var n="",a=t;do{n+=U(a),a=a.return}while(a);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ps="function"==typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=$o(-1,n)).tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){qc||(qc=!0,Hc=a),ds(0,t)},n}function ms(e,t,n){(n=$o(-1,n)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var r=t.value;n.payload=function(){return a(r)},n.callback=function(){ds(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof a&&(null===Kc?Kc=new Set([this]):Kc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function fs(e,t,n){var a=e.pingCache;if(null===a){a=e.pingCache=new ps;var r=new Set;a.set(t,r)}else void 0===(r=a.get(t))&&(r=new Set,a.set(t,r));r.has(n)||(r.add(n),e=Cl.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,n,a,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=$o(-1,1)).tag=2,Bo(n,t,1))),n.lanes|=1),e)}var ys=v.ReactCurrentOwner,ks=!1;function vs(e,t,n,a){t.child=null===e?jo(t,null,n,a):wo(t,e.child,n,a)}function ws(e,t,n,a,r){n=n.render;var o=t.ref;return Lo(t,r),a=gi(e,t,n,a,o,r),n=bi(),null===e||ks?(ro&&n&&eo(t),t.flags|=1,vs(e,t,a,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,qs(e,t,r))}function js(e,t,n,a,r){if(null===e){var o=n.type;return"function"!=typeof o||Pl(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Nl(n.type,null,a,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,_s(e,t,o,a,r))}if(o=e.child,0===(e.lanes&r)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:ca)(i,a)&&e.ref===t.ref)return qs(e,t,r)}return t.flags|=1,(e=Il(o,a)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,a,r){if(null!==e){var o=e.memoizedProps;if(ca(o,a)&&e.ref===t.ref){if(ks=!1,t.pendingProps=a=o,0===(e.lanes&r))return t.lanes=e.lanes,qs(e,t,r);131072&e.flags&&(ks=!0)}}return zs(e,t,n,a,r)}function xs(e,t,n){var a=t.pendingProps,r=a.children,o=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,zr(Ic,Pc),Pc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==o?o.baseLanes:n,zr(Ic,Pc),Pc|=a}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},zr(Ic,Pc),Pc|=n;else null!==o?(a=o.baseLanes|n,t.memoizedState=null):a=n,zr(Ic,Pc),Pc|=a;return vs(e,t,r,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function zs(e,t,n,a,r){var o=Pr(n)?Lr:Er.current;return o=Ar(t,o),Lo(t,r),n=gi(e,t,n,a,o,r),a=bi(),null===e||ks?(ro&&a&&eo(t),t.flags|=1,vs(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,qs(e,t,r))}function Ss(e,t,n,a,r){if(Pr(n)){var o=!0;Tr(t)}else o=!1;if(Lo(t,r),null===t.stateNode)Fs(e,t),is(t,n,a),cs(t,n,a,r),a=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var c=i.context,l=n.contextType;l="object"==typeof l&&null!==l?Ao(l):Ar(t,l=Pr(n)?Lr:Er.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==a||c!==l)&&ss(t,i,a,l),To=!1;var p=t.memoizedState;i.state=p,Fo(t,a,i,r),c=t.memoizedState,s!==a||p!==c||Or.current||To?("function"==typeof u&&(as(t,n,u,a),c=t.memoizedState),(s=To||os(t,n,s,a,p,c,l))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=l,a=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Mo(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ns(t.type,s),i.props=l,d=t.pendingProps,p=i.context,c="object"==typeof(c=n.contextType)&&null!==c?Ao(c):Ar(t,c=Pr(n)?Lr:Er.current);var h=n.getDerivedStateFromProps;(u="function"==typeof h||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==c)&&ss(t,i,a,c),To=!1,p=t.memoizedState,i.state=p,Fo(t,a,i,r);var m=t.memoizedState;s!==d||p!==m||Or.current||To?("function"==typeof h&&(as(t,n,h,a),m=t.memoizedState),(l=To||os(t,n,l,a,p,m,c)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(a,m,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(a,m,c)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=c,a=l):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),a=!1)}return Es(e,t,n,a,o,r)}function Es(e,t,n,a,r,o){Cs(e,t);var i=!!(128&t.flags);if(!a&&!i)return r&&Rr(t,n,!1),qs(e,t,o);a=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&i?(t.child=wo(t,e.child,null,o),t.child=wo(t,null,s,o)):vs(e,t,s,o),t.memoizedState=a.state,r&&Rr(t,n,!0),t.child}function Os(e){var t=e.stateNode;t.pendingContext?Nr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Nr(0,t.context,!1),Wo(e,t.containerInfo)}function Ls(e,t,n,a,r){return mo(),fo(r),t.flags|=256,vs(e,t,n,a),t.child}var As,Ps,Is,Ns,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ts(e){return{baseLanes:e,cachePool:null,transitions:null}}function Rs(e,t,n){var a,r=t.pendingProps,i=ei.current,s=!1,c=!!(128&t.flags);if((a=c)||(a=(null===e||null!==e.memoizedState)&&!!(2&i)),a?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),zr(ei,1&i),null===e)return lo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=r.children,e=r.fallback,s?(r=t.mode,s=t.child,c={mode:"hidden",children:c},1&r||null===s?s=Tl(c,r,0,null):(s.childLanes=0,s.pendingProps=c),e=Dl(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ts(n),t.memoizedState=Ds,e):Ms(t,c));if(null!==(i=e.memoizedState)&&null!==(a=i.dehydrated))return function(e,t,n,a,r,i,s){if(n)return 256&t.flags?(t.flags&=-257,$s(e,t,s,a=us(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=a.fallback,r=t.mode,a=Tl({mode:"visible",children:a.children},r,0,null),(i=Dl(i,r,s,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,1&t.mode&&wo(t,e.child,null,s),t.child.memoizedState=Ts(s),t.memoizedState=Ds,i);if(!(1&t.mode))return $s(e,t,s,null);if("$!"===r.data){if(a=r.nextSibling&&r.nextSibling.dataset)var c=a.dgst;return a=c,$s(e,t,s,a=us(i=Error(o(419)),a,void 0))}if(c=0!==(s&e.childLanes),ks||c){if(null!==(a=Oc)){switch(s&-s){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}0!==(r=0!==(r&(a.suspendedLanes|s))?0:r)&&r!==i.retryLane&&(i.retryLane=r,Do(e,r),nl(a,e,r,-1))}return fl(),$s(e,t,s,a=us(Error(o(421))))}return"$?"===r.data?(t.flags|=128,t.child=e.child,t=Sl.bind(null,e),r._reactRetry=t,null):(e=i.treeContext,ao=lr(r.nextSibling),no=t,ro=!0,oo=null,null!==e&&(Gr[Yr++]=Wr,Gr[Yr++]=Jr,Gr[Yr++]=Qr,Wr=e.id,Jr=e.overflow,Qr=t),(t=Ms(t,a.children)).flags|=4096,t)}(e,t,c,r,a,i,n);if(s){s=r.fallback,c=t.mode,a=(i=e.child).sibling;var l={mode:"hidden",children:r.children};return 1&c||t.child===i?(r=Il(i,l)).subtreeFlags=14680064&i.subtreeFlags:((r=t.child).childLanes=0,r.pendingProps=l,t.deletions=null),null!==a?s=Il(a,s):(s=Dl(s,c,n,null)).flags|=2,s.return=t,r.return=t,r.sibling=s,t.child=r,r=s,s=t.child,c=null===(c=e.child.memoizedState)?Ts(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,r}return e=(s=e.child).sibling,r=Il(s,{mode:"visible",children:r.children}),!(1&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Ms(e,t){return(t=Tl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function $s(e,t,n,a){return null!==a&&fo(a),wo(t,e.child,null,n),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Oo(e.return,t,n)}function Us(e,t,n,a,r){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=a,o.tail=n,o.tailMode=r)}function Vs(e,t,n){var a=t.pendingProps,r=a.revealOrder,o=a.tail;if(vs(e,t,a.children,n),2&(a=ei.current))a=1&a|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(zr(ei,a),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Us(t,!1,r,n,o);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===ti(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Us(t,!0,n,null,o);break;case"together":Us(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Fs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function qs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Tc|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Il(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Il(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Hs(e,t){if(!ro)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;null!==n;)null!==n.alternate&&(a=n),n=n.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function Ks(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,a=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=14680064&r.subtreeFlags,a|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=r.subtreeFlags,a|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function Gs(e,t,n){var a=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ks(t),null;case 1:case 17:return Pr(t.type)&&Ir(),Ks(t),null;case 3:return a=t.stateNode,Jo(),Cr(Or),Cr(Er),ai(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==oo&&(il(oo),oo=null))),Ps(e,t),Ks(t),null;case 5:Xo(t);var r=Qo(Yo.current);if(n=t.type,null!==e&&null!=t.stateNode)Is(e,t,n,a,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(o(166));return Ks(t),null}if(e=Qo(Ko.current),po(t)){a=t.stateNode,n=t.type;var i=t.memoizedProps;switch(a[pr]=t,a[hr]=i,e=!!(1&t.mode),n){case"dialog":$a("cancel",a),$a("close",a);break;case"iframe":case"object":case"embed":$a("load",a);break;case"video":case"audio":for(r=0;r<Da.length;r++)$a(Da[r],a);break;case"source":$a("error",a);break;case"img":case"image":case"link":$a("error",a),$a("load",a);break;case"details":$a("toggle",a);break;case"input":W(a,i),$a("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},$a("invalid",a);break;case"textarea":re(a,i),$a("invalid",a)}for(var c in ye(n,i),r=null,i)if(i.hasOwnProperty(c)){var l=i[c];"children"===c?"string"==typeof l?a.textContent!==l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",l]):"number"==typeof l&&a.textContent!==""+l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&$a("scroll",a)}switch(n){case"input":K(a),X(a,i,!0);break;case"textarea":K(a),ie(a);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(a.onclick=Xa)}a=r,t.updateQueue=a,null!==a&&(t.flags|=4)}else{c=9===r.nodeType?r:r.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=c.createElement(n,{is:a.is}):(e=c.createElement(n),"select"===n&&(c=e,a.multiple?c.multiple=!0:a.size&&(c.size=a.size))):e=c.createElementNS(e,n),e[pr]=t,e[hr]=a,As(e,t,!1,!1),t.stateNode=e;e:{switch(c=ke(n,a),n){case"dialog":$a("cancel",e),$a("close",e),r=a;break;case"iframe":case"object":case"embed":$a("load",e),r=a;break;case"video":case"audio":for(r=0;r<Da.length;r++)$a(Da[r],e);r=a;break;case"source":$a("error",e),r=a;break;case"img":case"image":case"link":$a("error",e),$a("load",e),r=a;break;case"details":$a("toggle",e),r=a;break;case"input":W(e,a),r=Q(e,a),$a("invalid",e);break;case"option":default:r=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},r=R({},a,{value:void 0}),$a("invalid",e);break;case"textarea":re(e,a),r=ae(e,a),$a("invalid",e)}for(i in ye(n,r),l=r)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&$a("scroll",e):null!=u&&k(e,i,u,c))}switch(n){case"input":K(e),X(e,a,!1);break;case"textarea":K(e),ie(e);break;case"option":null!=a.value&&e.setAttribute("value",""+q(a.value));break;case"select":e.multiple=!!a.multiple,null!=(i=a.value)?ne(e,!!a.multiple,i,!1):null!=a.defaultValue&&ne(e,!!a.multiple,a.defaultValue,!0);break;default:"function"==typeof r.onClick&&(e.onclick=Xa)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ks(t),null;case 6:if(e&&null!=t.stateNode)Ns(e,t,e.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(o(166));if(n=Qo(Yo.current),Qo(Ko.current),po(t)){if(a=t.stateNode,n=t.memoizedProps,a[pr]=t,(i=a.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Za(a.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Za(a.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(a=(9===n.nodeType?n:n.ownerDocument).createTextNode(a))[pr]=t,t.stateNode=a}return Ks(t),null;case 13:if(Cr(ei),a=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ro&&null!==ao&&1&t.mode&&!(128&t.flags))ho(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==a&&null!==a.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pr]=t}else mo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ks(t),i=!1}else null!==oo&&(il(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((a=null!==a)!=(null!==e&&null!==e.memoizedState)&&a&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Nc&&(Nc=3):fl())),null!==t.updateQueue&&(t.flags|=4),Ks(t),null);case 4:return Jo(),Ps(e,t),null===e&&Va(t.stateNode.containerInfo),Ks(t),null;case 10:return Eo(t.type._context),Ks(t),null;case 19:if(Cr(ei),null===(i=t.memoizedState))return Ks(t),null;if(a=!!(128&t.flags),null===(c=i.rendering))if(a)Hs(i,!1);else{if(0!==Nc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=ti(e))){for(t.flags|=128,Hs(i,!1),null!==(a=c.updateQueue)&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;null!==n;)e=a,(i=n).flags&=14680066,null===(c=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=c.childLanes,i.lanes=c.lanes,i.child=c.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=c.memoizedProps,i.memoizedState=c.memoizedState,i.updateQueue=c.updateQueue,i.type=c.type,e=c.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return zr(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Je()>Vc&&(t.flags|=128,a=!0,Hs(i,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=ti(c))){if(t.flags|=128,a=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Hs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!ro)return Ks(t),null}else 2*Je()-i.renderingStartTime>Vc&&1073741824!==n&&(t.flags|=128,a=!0,Hs(i,!1),t.lanes=4194304);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,n=ei.current,zr(ei,a?1&n|2:1&n),t):(Ks(t),null);case 22:case 23:return dl(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&1&t.mode?!!(1073741824&Pc)&&(Ks(t),6&t.subtreeFlags&&(t.flags|=8192)):Ks(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ys(e,t){switch(to(t),t.tag){case 1:return Pr(t.type)&&Ir(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jo(),Cr(Or),Cr(Er),ai(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Xo(t),null;case 13:if(Cr(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Cr(ei),null;case 4:return Jo(),null;case 10:return Eo(t.type._context),null;case 22:case 23:return dl(),null;default:return null}}As=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(){},Is=function(e,t,n,a){var r=e.memoizedProps;if(r!==a){e=t.stateNode,Qo(Ko.current);var o,i=null;switch(n){case"input":r=Q(e,r),a=Q(e,a),i=[];break;case"select":r=R({},r,{value:void 0}),a=R({},a,{value:void 0}),i=[];break;case"textarea":r=ae(e,r),a=ae(e,a),i=[];break;default:"function"!=typeof r.onClick&&"function"==typeof a.onClick&&(e.onclick=Xa)}for(u in ye(n,a),n=null,r)if(!a.hasOwnProperty(u)&&r.hasOwnProperty(u)&&null!=r[u])if("style"===u){var c=r[u];for(o in c)c.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in a){var l=a[u];if(c=null!=r?r[u]:void 0,a.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(o in c)!c.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&c[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(i||(i=[]),i.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(i=i||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(i=i||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&$a("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ns=function(e,t,n,a){n!==a&&(t.flags|=4)};var Qs=!1,Ws=!1,Js="function"==typeof WeakSet?WeakSet:Set,Zs=null;function Xs(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){xl(e,t,n)}else n.current=null}function ec(e,t,n){try{n()}catch(n){xl(e,t,n)}}var tc=!1;function nc(e,t,n){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var r=a=a.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,void 0!==o&&ec(t,n,o)}r=r.next}while(r!==a)}}function ac(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function rc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function oc(e){var t=e.alternate;null!==t&&(e.alternate=null,oc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[pr],delete t[hr],delete t[fr],delete t[gr],delete t[br]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ic(e){return 5===e.tag||3===e.tag||4===e.tag}function sc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ic(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Xa));else if(4!==a&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}function lc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==a&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}var uc=null,dc=!1;function pc(e,t,n){for(n=n.child;null!==n;)hc(e,t,n),n=n.sibling}function hc(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(rt,n)}catch(e){}switch(n.tag){case 5:Ws||Xs(n,t);case 6:var a=uc,r=dc;uc=null,pc(e,t,n),dc=r,null!==(uc=a)&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uc.removeChild(n.stateNode));break;case 18:null!==uc&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?cr(e.parentNode,n):1===e.nodeType&&cr(e,n),Vt(e)):cr(uc,n.stateNode));break;case 4:a=uc,r=dc,uc=n.stateNode.containerInfo,dc=!0,pc(e,t,n),uc=a,dc=r;break;case 0:case 11:case 14:case 15:if(!Ws&&null!==(a=n.updateQueue)&&null!==(a=a.lastEffect)){r=a=a.next;do{var o=r,i=o.destroy;o=o.tag,void 0!==i&&(2&o||4&o)&&ec(n,t,i),r=r.next}while(r!==a)}pc(e,t,n);break;case 1:if(!Ws&&(Xs(n,t),"function"==typeof(a=n.stateNode).componentWillUnmount))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(e){xl(n,t,e)}pc(e,t,n);break;case 21:pc(e,t,n);break;case 22:1&n.mode?(Ws=(a=Ws)||null!==n.memoizedState,pc(e,t,n),Ws=a):pc(e,t,n);break;default:pc(e,t,n)}}function mc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Js),t.forEach(function(t){var a=El.bind(null,e,t);n.has(t)||(n.add(t),t.then(a,a))})}}function fc(e,t){var n=t.deletions;if(null!==n)for(var a=0;a<n.length;a++){var r=n[a];try{var i=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,dc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,dc=!0;break e}c=c.return}if(null===uc)throw Error(o(160));hc(i,s,r),uc=null,dc=!1;var l=r.alternate;null!==l&&(l.return=null),r.return=null}catch(e){xl(r,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fc(t,e),bc(e),4&a){try{nc(3,e,e.return),ac(3,e)}catch(t){xl(e,e.return,t)}try{nc(5,e,e.return)}catch(t){xl(e,e.return,t)}}break;case 1:fc(t,e),bc(e),512&a&&null!==n&&Xs(n,n.return);break;case 5:if(fc(t,e),bc(e),512&a&&null!==n&&Xs(n,n.return),32&e.flags){var r=e.stateNode;try{pe(r,"")}catch(t){xl(e,e.return,t)}}if(4&a&&null!=(r=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===i.type&&null!=i.name&&J(r,i),ke(c,s);var u=ke(c,i);for(s=0;s<l.length;s+=2){var d=l[s],p=l[s+1];"style"===d?ge(r,p):"dangerouslySetInnerHTML"===d?de(r,p):"children"===d?pe(r,p):k(r,d,p,u)}switch(c){case"input":Z(r,i);break;case"textarea":oe(r,i);break;case"select":var h=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(r,!!i.multiple,m,!1):h!==!!i.multiple&&(null!=i.defaultValue?ne(r,!!i.multiple,i.defaultValue,!0):ne(r,!!i.multiple,i.multiple?[]:"",!1))}r[hr]=i}catch(t){xl(e,e.return,t)}}break;case 6:if(fc(t,e),bc(e),4&a){if(null===e.stateNode)throw Error(o(162));r=e.stateNode,i=e.memoizedProps;try{r.nodeValue=i}catch(t){xl(e,e.return,t)}}break;case 3:if(fc(t,e),bc(e),4&a&&null!==n&&n.memoizedState.isDehydrated)try{Vt(t.containerInfo)}catch(t){xl(e,e.return,t)}break;case 4:default:fc(t,e),bc(e);break;case 13:fc(t,e),bc(e),8192&(r=e.child).flags&&(i=null!==r.memoizedState,r.stateNode.isHidden=i,!i||null!==r.alternate&&null!==r.alternate.memoizedState||(Uc=Je())),4&a&&mc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ws=(u=Ws)||d,fc(t,e),Ws=u):fc(t,e),bc(e),8192&a){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Zs=e,d=e.child;null!==d;){for(p=Zs=d;null!==Zs;){switch(m=(h=Zs).child,h.tag){case 0:case 11:case 14:case 15:nc(4,h,h.return);break;case 1:Xs(h,h.return);var f=h.stateNode;if("function"==typeof f.componentWillUnmount){a=h,n=h.return;try{t=a,f.props=t.memoizedProps,f.state=t.memoizedState,f.componentWillUnmount()}catch(e){xl(a,n,e)}}break;case 5:Xs(h,h.return);break;case 22:if(null!==h.memoizedState){wc(p);continue}}null!==m?(m.return=h,Zs=m):wc(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{r=p.stateNode,u?"function"==typeof(i=r.style).setProperty?i.setProperty("display","none","important"):i.display="none":(c=p.stateNode,s=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=fe("display",s))}catch(t){xl(e,e.return,t)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(t){xl(e,e.return,t)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:fc(t,e),bc(e),4&a&&mc(e);case 21:}}function bc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ic(n)){var a=n;break e}n=n.return}throw Error(o(160))}switch(a.tag){case 5:var r=a.stateNode;32&a.flags&&(pe(r,""),a.flags&=-33),lc(e,sc(e),r);break;case 3:case 4:var i=a.stateNode.containerInfo;cc(e,sc(e),i);break;default:throw Error(o(161))}}catch(t){xl(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yc(e,t,n){Zs=e,kc(e,t,n)}function kc(e,t,n){for(var a=!!(1&e.mode);null!==Zs;){var r=Zs,o=r.child;if(22===r.tag&&a){var i=null!==r.memoizedState||Qs;if(!i){var s=r.alternate,c=null!==s&&null!==s.memoizedState||Ws;s=Qs;var l=Ws;if(Qs=i,(Ws=c)&&!l)for(Zs=r;null!==Zs;)c=(i=Zs).child,22===i.tag&&null!==i.memoizedState?jc(r):null!==c?(c.return=i,Zs=c):jc(r);for(;null!==o;)Zs=o,kc(o,t,n),o=o.sibling;Zs=r,Qs=s,Ws=l}vc(e)}else 8772&r.subtreeFlags&&null!==o?(o.return=r,Zs=o):vc(e)}}function vc(e){for(;null!==Zs;){var t=Zs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ws||ac(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Ws)if(null===n)a.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);a.componentDidUpdate(r,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&qo(t,i,a);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}qo(t,s,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Vt(p)}}}break;default:throw Error(o(163))}Ws||512&t.flags&&rc(t)}catch(e){xl(t,t.return,e)}}if(t===e){Zs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Zs=n;break}Zs=t.return}}function wc(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Zs=n;break}Zs=t.return}}function jc(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ac(4,t)}catch(e){xl(t,n,e)}break;case 1:var a=t.stateNode;if("function"==typeof a.componentDidMount){var r=t.return;try{a.componentDidMount()}catch(e){xl(t,r,e)}}var o=t.return;try{rc(t)}catch(e){xl(t,o,e)}break;case 5:var i=t.return;try{rc(t)}catch(e){xl(t,i,e)}}}catch(e){xl(t,t.return,e)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var _c,xc=Math.ceil,Cc=v.ReactCurrentDispatcher,zc=v.ReactCurrentOwner,Sc=v.ReactCurrentBatchConfig,Ec=0,Oc=null,Lc=null,Ac=0,Pc=0,Ic=xr(0),Nc=0,Dc=null,Tc=0,Rc=0,Mc=0,$c=null,Bc=null,Uc=0,Vc=1/0,Fc=null,qc=!1,Hc=null,Kc=null,Gc=!1,Yc=null,Qc=0,Wc=0,Jc=null,Zc=-1,Xc=0;function el(){return 6&Ec?Je():-1!==Zc?Zc:Zc=Je()}function tl(e){return 1&e.mode?2&Ec&&0!==Ac?Ac&-Ac:null!==go.transition?(0===Xc&&(Xc=ft()),Xc):0!==(e=kt)?e:e=void 0===(e=window.event)?16:Wt(e.type):1}function nl(e,t,n,a){if(50<Wc)throw Wc=0,Jc=null,Error(o(185));bt(e,n,a),2&Ec&&e===Oc||(e===Oc&&(!(2&Ec)&&(Rc|=n),4===Nc&&sl(e,Ac)),al(e,a),1===n&&0===Ec&&!(1&t.mode)&&(Vc=Je()+500,$r&&Vr()))}function al(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),s=1<<i,c=r[i];-1===c?0!==(s&n)&&0===(s&a)||(r[i]=ht(s,t)):c<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var a=pt(e,e===Oc?Ac:0);if(0===a)null!==n&&Ye(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(null!=n&&Ye(n),1===t)0===e.tag?function(e){$r=!0,Ur(e)}(cl.bind(null,e)):Ur(cl.bind(null,e)),ir(function(){!(6&Ec)&&Vr()}),n=null;else{switch(vt(a)){case 1:n=Xe;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=at}n=Ol(n,rl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rl(e,t){if(Zc=-1,Xc=0,6&Ec)throw Error(o(327));var n=e.callbackNode;if(jl()&&e.callbackNode!==n)return null;var a=pt(e,e===Oc?Ac:0);if(0===a)return null;if(30&a||0!==(a&e.expiredLanes)||t)t=gl(e,a);else{t=a;var r=Ec;Ec|=2;var i=ml();for(Oc===e&&Ac===t||(Fc=null,Vc=Je()+500,pl(e,t));;)try{yl();break}catch(t){hl(e,t)}So(),Cc.current=i,Ec=r,null!==Lc?t=0:(Oc=null,Ac=0,t=Nc)}if(0!==t){if(2===t&&0!==(r=mt(e))&&(a=r,t=ol(e,r)),1===t)throw n=Dc,pl(e,0),sl(e,a),al(e,Je()),n;if(6===t)sl(e,a);else{if(r=e.current.alternate,!(30&a||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var a=0;a<n.length;a++){var r=n[a],o=r.getSnapshot;r=r.value;try{if(!sa(o(),r))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(r)||(t=gl(e,a),2===t&&(i=mt(e),0!==i&&(a=i,t=ol(e,i))),1!==t)))throw n=Dc,pl(e,0),sl(e,a),al(e,Je()),n;switch(e.finishedWork=r,e.finishedLanes=a,t){case 0:case 1:throw Error(o(345));case 2:case 5:wl(e,Bc,Fc);break;case 3:if(sl(e,a),(130023424&a)===a&&10<(t=Uc+500-Je())){if(0!==pt(e,0))break;if(((r=e.suspendedLanes)&a)!==a){el(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=ar(wl.bind(null,e,Bc,Fc),t);break}wl(e,Bc,Fc);break;case 4:if(sl(e,a),(4194240&a)===a)break;for(t=e.eventTimes,r=-1;0<a;){var s=31-it(a);i=1<<s,(s=t[s])>r&&(r=s),a&=~i}if(a=r,10<(a=(120>(a=Je()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*xc(a/1960))-a)){e.timeoutHandle=ar(wl.bind(null,e,Bc,Fc),a);break}wl(e,Bc,Fc);break;default:throw Error(o(329))}}}return al(e,Je()),e.callbackNode===n?rl.bind(null,e):null}function ol(e,t){var n=$c;return e.current.memoizedState.isDehydrated&&(pl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=Bc,Bc=n,null!==t&&il(t)),e}function il(e){null===Bc?Bc=e:Bc.push.apply(Bc,e)}function sl(e,t){for(t&=~Mc,t&=~Rc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),a=1<<n;e[n]=-1,t&=~a}}function cl(e){if(6&Ec)throw Error(o(327));jl();var t=pt(e,0);if(!(1&t))return al(e,Je()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var a=mt(e);0!==a&&(t=a,n=ol(e,a))}if(1===n)throw n=Dc,pl(e,0),sl(e,t),al(e,Je()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,Bc,Fc),al(e,Je()),null}function ll(e,t){var n=Ec;Ec|=1;try{return e(t)}finally{0===(Ec=n)&&(Vc=Je()+500,$r&&Vr())}}function ul(e){null!==Yc&&0===Yc.tag&&!(6&Ec)&&jl();var t=Ec;Ec|=1;var n=Sc.transition,a=kt;try{if(Sc.transition=null,kt=1,e)return e()}finally{kt=a,Sc.transition=n,!(6&(Ec=t))&&Vr()}}function dl(){Pc=Ic.current,Cr(Ic)}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rr(n)),null!==Lc)for(n=Lc.return;null!==n;){var a=n;switch(to(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&Ir();break;case 3:Jo(),Cr(Or),Cr(Er),ai();break;case 5:Xo(a);break;case 4:Jo();break;case 13:case 19:Cr(ei);break;case 10:Eo(a.type._context);break;case 22:case 23:dl()}n=n.return}if(Oc=e,Lc=e=Il(e.current,null),Ac=Pc=t,Nc=0,Dc=null,Mc=Rc=Tc=0,Bc=$c=null,null!==Po){for(t=0;t<Po.length;t++)if(null!==(a=(n=Po[t]).interleaved)){n.interleaved=null;var r=a.next,o=n.pending;if(null!==o){var i=o.next;o.next=r,a.next=i}n.pending=a}Po=null}return e}function hl(e,t){for(;;){var n=Lc;try{if(So(),ri.current=Zi,ui){for(var a=si.memoizedState;null!==a;){var r=a.queue;null!==r&&(r.pending=null),a=a.next}ui=!1}if(ii=0,li=ci=si=null,di=!1,pi=0,zc.current=null,null===n||null===n.return){Nc=1,Dc=t,Lc=null;break}e:{var i=e,s=n.return,c=n,l=t;if(t=Ac,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,d=c,p=d.tag;if(!(1&d.mode||0!==p&&11!==p&&15!==p)){var h=d.alternate;h?(d.updateQueue=h.updateQueue,d.memoizedState=h.memoizedState,d.lanes=h.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,bs(m,s,c,0,t),1&m.mode&&fs(i,u,t),l=u;var f=(t=m).updateQueue;if(null===f){var g=new Set;g.add(l),t.updateQueue=g}else f.add(l);break e}if(!(1&t)){fs(i,u,t),fl();break e}l=Error(o(426))}else if(ro&&1&c.mode){var b=gs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,c,0,t),fo(ls(l,c));break e}}i=l=ls(l,c),4!==Nc&&(Nc=2),null===$c?$c=[i]:$c.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Vo(i,hs(0,l,t));break e;case 1:c=l;var y=i.type,k=i.stateNode;if(!(128&i.flags||"function"!=typeof y.getDerivedStateFromError&&(null===k||"function"!=typeof k.componentDidCatch||null!==Kc&&Kc.has(k)))){i.flags|=65536,t&=-t,i.lanes|=t,Vo(i,ms(i,c,t));break e}}i=i.return}while(null!==i)}vl(n)}catch(e){t=e,Lc===n&&null!==n&&(Lc=n=n.return);continue}break}}function ml(){var e=Cc.current;return Cc.current=Zi,null===e?Zi:e}function fl(){0!==Nc&&3!==Nc&&2!==Nc||(Nc=4),null===Oc||!(268435455&Tc)&&!(268435455&Rc)||sl(Oc,Ac)}function gl(e,t){var n=Ec;Ec|=2;var a=ml();for(Oc===e&&Ac===t||(Fc=null,pl(e,t));;)try{bl();break}catch(t){hl(e,t)}if(So(),Ec=n,Cc.current=a,null!==Lc)throw Error(o(261));return Oc=null,Ac=0,Nc}function bl(){for(;null!==Lc;)kl(Lc)}function yl(){for(;null!==Lc&&!Qe();)kl(Lc)}function kl(e){var t=_c(e.alternate,e,Pc);e.memoizedProps=e.pendingProps,null===t?vl(e):Lc=t,zc.current=null}function vl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ys(n,t)))return n.flags&=32767,void(Lc=n);if(null===e)return Nc=6,void(Lc=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Gs(n,t,Pc)))return void(Lc=n);if(null!==(t=t.sibling))return void(Lc=t);Lc=t=e}while(null!==t);0===Nc&&(Nc=5)}function wl(e,t,n){var a=kt,r=Sc.transition;try{Sc.transition=null,kt=1,function(e,t,n,a){do{jl()}while(null!==Yc);if(6&Ec)throw Error(o(327));n=e.finishedWork;var r=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-it(n),o=1<<r;t[r]=0,a[r]=-1,e[r]=-1,n&=~o}}(e,i),e===Oc&&(Lc=Oc=null,Ac=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Gc||(Gc=!0,Ol(tt,function(){return jl(),null})),i=!!(15990&n.flags),15990&n.subtreeFlags||i){i=Sc.transition,Sc.transition=null;var s=kt;kt=1;var c=Ec;Ec|=4,zc.current=null,function(e,t){if(er=qt,ha(e=pa())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(a&&0!==a.rangeCount){n=a.anchorNode;var r=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,p=e,h=null;t:for(;;){for(var m;p!==n||0!==r&&3!==p.nodeType||(c=s+r),p!==i||0!==a&&3!==p.nodeType||(l=s+a),3===p.nodeType&&(s+=p.nodeValue.length),null!==(m=p.firstChild);)h=p,p=m;for(;;){if(p===e)break t;if(h===n&&++u===r&&(c=s),h===i&&++d===a&&(l=s),null!==(m=p.nextSibling))break;h=(p=h).parentNode}p=m}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(tr={focusedElem:e,selectionRange:n},qt=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var f=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==f){var g=f.memoizedProps,b=f.memoizedState,y=t.stateNode,k=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),b);y.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(o(163))}}catch(e){xl(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}f=tc,tc=!1}(e,n),gc(n,e),ma(tr),qt=!!er,tr=er=null,e.current=n,yc(n,e,r),We(),Ec=c,kt=s,Sc.transition=i}else e.current=n;if(Gc&&(Gc=!1,Yc=e,Qc=r),0===(i=e.pendingLanes)&&(Kc=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(rt,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),al(e,Je()),null!==t)for(a=e.onRecoverableError,n=0;n<t.length;n++)a((r=t[n]).value,{componentStack:r.stack,digest:r.digest});if(qc)throw qc=!1,e=Hc,Hc=null,e;!!(1&Qc)&&0!==e.tag&&jl(),1&(i=e.pendingLanes)?e===Jc?Wc++:(Wc=0,Jc=e):Wc=0,Vr()}(e,t,n,a)}finally{Sc.transition=r,kt=a}return null}function jl(){if(null!==Yc){var e=vt(Qc),t=Sc.transition,n=kt;try{if(Sc.transition=null,kt=16>e?16:e,null===Yc)var a=!1;else{if(e=Yc,Yc=null,Qc=0,6&Ec)throw Error(o(331));var r=Ec;for(Ec|=4,Zs=e.current;null!==Zs;){var i=Zs,s=i.child;if(16&Zs.flags){var c=i.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Zs=u;null!==Zs;){var d=Zs;switch(d.tag){case 0:case 11:case 15:nc(8,d,i)}var p=d.child;if(null!==p)p.return=d,Zs=p;else for(;null!==Zs;){var h=(d=Zs).sibling,m=d.return;if(oc(d),d===u){Zs=null;break}if(null!==h){h.return=m,Zs=h;break}Zs=m}}}var f=i.alternate;if(null!==f){var g=f.child;if(null!==g){f.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Zs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Zs=s;else e:for(;null!==Zs;){if(2048&(i=Zs).flags)switch(i.tag){case 0:case 11:case 15:nc(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Zs=y;break e}Zs=i.return}}var k=e.current;for(Zs=k;null!==Zs;){var v=(s=Zs).child;if(2064&s.subtreeFlags&&null!==v)v.return=s,Zs=v;else e:for(s=k;null!==Zs;){if(2048&(c=Zs).flags)try{switch(c.tag){case 0:case 11:case 15:ac(9,c)}}catch(e){xl(c,c.return,e)}if(c===s){Zs=null;break e}var w=c.sibling;if(null!==w){w.return=c.return,Zs=w;break e}Zs=c.return}}if(Ec=r,Vr(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(rt,e)}catch(e){}a=!0}return a}finally{kt=n,Sc.transition=t}}return!1}function _l(e,t,n){e=Bo(e,t=hs(0,t=ls(n,t),1),1),t=el(),null!==e&&(bt(e,1,t),al(e,t))}function xl(e,t,n){if(3===e.tag)_l(e,e,n);else for(;null!==t;){if(3===t.tag){_l(t,e,n);break}if(1===t.tag){var a=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof a.componentDidCatch&&(null===Kc||!Kc.has(a))){t=Bo(t,e=ms(t,e=ls(n,e),1),1),e=el(),null!==t&&(bt(t,1,e),al(t,e));break}}t=t.return}}function Cl(e,t,n){var a=e.pingCache;null!==a&&a.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&n,Oc===e&&(Ac&n)===n&&(4===Nc||3===Nc&&(130023424&Ac)===Ac&&500>Je()-Uc?pl(e,0):Mc|=n),al(e,t)}function zl(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=el();null!==(e=Do(e,t))&&(bt(e,t,n),al(e,n))}function Sl(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),zl(e,n)}function El(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(o(314))}null!==a&&a.delete(t),zl(e,n)}function Ol(e,t){return Ge(e,t)}function Ll(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Al(e,t,n,a){return new Ll(e,t,n,a)}function Pl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Il(e,t){var n=e.alternate;return null===n?((n=Al(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Nl(e,t,n,a,r,i){var s=2;if(a=e,"function"==typeof e)Pl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case _:return Dl(n.children,r,i,t);case x:s=8,r|=8;break;case C:return(e=Al(12,n,t,2|r)).elementType=C,e.lanes=i,e;case O:return(e=Al(13,n,t,r)).elementType=O,e.lanes=i,e;case L:return(e=Al(19,n,t,r)).elementType=L,e.lanes=i,e;case I:return Tl(n,r,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case z:s=10;break e;case S:s=9;break e;case E:s=11;break e;case A:s=14;break e;case P:s=16,a=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Al(s,n,t,r)).elementType=e,t.type=a,t.lanes=i,t}function Dl(e,t,n,a){return(e=Al(7,e,a,t)).lanes=n,e}function Tl(e,t,n,a){return(e=Al(22,e,a,t)).elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function Rl(e,t,n){return(e=Al(6,e,null,t)).lanes=n,e}function Ml(e,t,n){return(t=Al(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function $l(e,t,n,a,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=a,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Bl(e,t,n,a,r,o,i,s,c){return e=new $l(e,t,n,s,c),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Al(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ro(o),e}function Ul(e){if(!e)return Sr;e:{if(Ve(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Pr(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Pr(n))return Dr(e,n,t)}return t}function Vl(e,t,n,a,r,o,i,s,c){return(e=Bl(n,a,!0,e,0,o,0,s,c)).context=Ul(null),n=e.current,(o=$o(a=el(),r=tl(n))).callback=null!=t?t:null,Bo(n,o,r),e.current.lanes=r,bt(e,r,a),al(e,a),e}function Fl(e,t,n,a){var r=t.current,o=el(),i=tl(r);return n=Ul(n),null===t.context?t.context=n:t.pendingContext=n,(t=$o(o,i)).payload={element:e},null!==(a=void 0===a?null:a)&&(t.callback=a),null!==(e=Bo(r,t,i))&&(nl(e,r,i,o),Uo(e,r,i)),i}function ql(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Hl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Kl(e,t){Hl(e,t),(e=e.alternate)&&Hl(e,t)}_c=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Or.current)ks=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return ks=!1,function(e,t,n){switch(t.tag){case 3:Os(t),mo();break;case 5:Zo(t);break;case 1:Pr(t.type)&&Tr(t);break;case 4:Wo(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,r=t.memoizedProps.value;zr(_o,a._currentValue),a._currentValue=r;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(zr(ei,1&ei.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Rs(e,t,n):(zr(ei,1&ei.current),null!==(e=qs(e,t,n))?e.sibling:null);zr(ei,1&ei.current);break;case 19:if(a=0!==(n&t.childLanes),128&e.flags){if(a)return Vs(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),zr(ei,ei.current),a)break;return null;case 22:case 23:return t.lanes=0,xs(e,t,n)}return qs(e,t,n)}(e,t,n);ks=!!(131072&e.flags)}else ks=!1,ro&&1048576&t.flags&&Xr(t,Kr,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Fs(e,t),e=t.pendingProps;var r=Ar(t,Er.current);Lo(t,n),r=gi(null,t,a,e,r,n);var i=bi();return t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Pr(a)?(i=!0,Tr(t)):i=!1,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,Ro(t),r.updater=rs,t.stateNode=r,r._reactInternals=t,cs(t,a,e,n),t=Es(null,t,a,!0,i,n)):(t.tag=0,ro&&i&&eo(t),vs(null,t,r,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Fs(e,t),e=t.pendingProps,a=(r=a._init)(a._payload),t.type=a,r=t.tag=function(e){if("function"==typeof e)return Pl(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===A)return 14}return 2}(a),e=ns(a,e),r){case 0:t=zs(null,t,a,e,n);break e;case 1:t=Ss(null,t,a,e,n);break e;case 11:t=ws(null,t,a,e,n);break e;case 14:t=js(null,t,a,ns(a.type,e),n);break e}throw Error(o(306,a,""))}return t;case 0:return a=t.type,r=t.pendingProps,zs(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 1:return a=t.type,r=t.pendingProps,Ss(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 3:e:{if(Os(t),null===e)throw Error(o(387));a=t.pendingProps,r=(i=t.memoizedState).element,Mo(e,t),Fo(t,a,null,n);var s=t.memoizedState;if(a=s.element,i.isDehydrated){if(i={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ls(e,t,a,n,r=ls(Error(o(423)),t));break e}if(a!==r){t=Ls(e,t,a,n,r=ls(Error(o(424)),t));break e}for(ao=lr(t.stateNode.containerInfo.firstChild),no=t,ro=!0,oo=null,n=jo(t,null,a,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),a===r){t=qs(e,t,n);break e}vs(e,t,a,n)}t=t.child}return t;case 5:return Zo(t),null===e&&lo(t),a=t.type,r=t.pendingProps,i=null!==e?e.memoizedProps:null,s=r.children,nr(a,r)?s=null:null!==i&&nr(a,i)&&(t.flags|=32),Cs(e,t),vs(e,t,s,n),t.child;case 6:return null===e&&lo(t),null;case 13:return Rs(e,t,n);case 4:return Wo(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=wo(t,null,a,n):vs(e,t,a,n),t.child;case 11:return a=t.type,r=t.pendingProps,ws(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 7:return vs(e,t,t.pendingProps,n),t.child;case 8:case 12:return vs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,r=t.pendingProps,i=t.memoizedProps,s=r.value,zr(_o,a._currentValue),a._currentValue=s,null!==i)if(sa(i.value,s)){if(i.children===r.children&&!Or.current){t=qs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var c=i.dependencies;if(null!==c){s=i.child;for(var l=c.firstContext;null!==l;){if(l.context===a){if(1===i.tag){(l=$o(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),Oo(i.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(o(341));s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Oo(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}vs(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,a=t.pendingProps.children,Lo(t,n),a=a(r=Ao(r)),t.flags|=1,vs(e,t,a,n),t.child;case 14:return r=ns(a=t.type,t.pendingProps),js(e,t,a,r=ns(a.type,r),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:ns(a,r),Fs(e,t),t.tag=1,Pr(a)?(e=!0,Tr(t)):e=!1,Lo(t,n),is(t,a,r),cs(t,a,r,n),Es(null,t,a,!0,e,n);case 19:return Vs(e,t,n);case 22:return xs(e,t,n)}throw Error(o(156,t.tag))};var Gl="function"==typeof reportError?reportError:function(e){console.error(e)};function Yl(e){this._internalRoot=e}function Ql(e){this._internalRoot=e}function Wl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function Xl(e,t,n,a,r){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof r){var s=r;r=function(){var e=ql(i);s.call(e)}}Fl(t,i,e,r)}else i=function(e,t,n,a,r){if(r){if("function"==typeof a){var o=a;a=function(){var e=ql(i);o.call(e)}}var i=Vl(t,a,e,0,null,!1,0,"",Zl);return e._reactRootContainer=i,e[mr]=i.current,Va(8===e.nodeType?e.parentNode:e),ul(),i}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof a){var s=a;a=function(){var e=ql(c);s.call(e)}}var c=Bl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[mr]=c.current,Va(8===e.nodeType?e.parentNode:e),ul(function(){Fl(t,c,n,a)}),c}(n,t,e,r,a);return ql(i)}Ql.prototype.render=Yl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Fl(e,t,null,null)},Ql.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul(function(){Fl(null,e,null,null)}),t[mr]=null}},Ql.prototype.unstable_scheduleHydration=function(e){if(e){var t=xt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<It.length&&0!==t&&t<It[n].priority;n++);It.splice(n,0,e),0===n&&Rt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),al(t,Je()),!(6&Ec)&&(Vc=Je()+500,Vr()))}break;case 13:ul(function(){var t=Do(e,1);if(null!==t){var n=el();nl(t,e,1,n)}}),Kl(e,1)}},jt=function(e){if(13===e.tag){var t=Do(e,134217728);null!==t&&nl(t,e,134217728,el()),Kl(e,134217728)}},_t=function(e){if(13===e.tag){var t=tl(e),n=Do(e,t);null!==n&&nl(n,e,t,el()),Kl(e,t)}},xt=function(){return kt},Ct=function(e,t){var n=kt;try{return kt=e,t()}finally{kt=n}},je=function(e,t,n){switch(t){case"input":if(Z(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var r=wr(a);if(!r)throw Error(o(90));G(a),Z(a,r)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ee=ll,Oe=ul;var eu={usingClientEntryPoint:!1,Events:[kr,vr,wr,ze,Se,ll]},tu={findFiberByHostInstance:yr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:v.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=He(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{rt=au.inject(nu),ot=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Wl(t))throw Error(o(200));return function(e,t,n){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:j,key:null==a?null:""+a,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Wl(e))throw Error(o(299));var n=!1,a="",r=Gl;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(r=t.onRecoverableError)),t=Bl(e,1,!1,null,0,n,0,a,r),e[mr]=t.current,Va(8===e.nodeType?e.parentNode:e),new Yl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return null===(e=He(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,n){if(!Jl(t))throw Error(o(200));return Xl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Wl(e))throw Error(o(405));var a=null!=n&&n.hydratedSources||null,r=!1,i="",s=Gl;if(null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Vl(t,null,e,1,null!=n?n:null,r,0,i,s),e[mr]=t.current,Va(e),a)for(e=0;e<a.length;e++)r=(r=(n=a[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Ql(t)},t.render=function(e,t,n){if(!Jl(t))throw Error(o(200));return Xl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Jl(e))throw Error(o(40));return!!e._reactRootContainer&&(ul(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[mr]=null})}),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!Jl(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return Xl(e,t,n,!1,a)},t.version="18.3.1-next-f1338f8080-20240426"},860:(e,t,n)=>{"use strict";e.exports=n(113)},973:(e,t)=>{"use strict";var n=Symbol.for("react.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function y(){}function k(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var v=k.prototype=new y;v.constructor=k,f(v,b.prototype),v.isPureReactComponent=!0;var w=Array.isArray,j=Object.prototype.hasOwnProperty,_={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,a){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)j.call(t,r)&&!x.hasOwnProperty(r)&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=a;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return{$$typeof:n,type:e,key:i,ref:s,props:o,_owner:_.current}}function z(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var S=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function O(e,t,r,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case a:c=!0}}if(c)return i=i(c=e),e=""===o?"."+E(c,0):o,w(i)?(r="",null!=e&&(r=e.replace(S,"$&/")+"/"),O(i,t,r,"",function(e){return e})):null!=i&&(z(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,r+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(S,"$&/")+"/")+e)),t.push(i)),1;if(c=0,o=""===o?".":o+":",w(e))for(var l=0;l<e.length;l++){var u=o+E(s=e[l],l);c+=O(s,t,r,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=h&&e[h]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=O(s=s.value,t,r,u=o+E(s,l++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function L(e,t,n){if(null==e)return e;var a=[],r=0;return O(e,a,"","",function(e){return t.call(n,e,r++)}),a}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},I={transition:null},N={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:I,ReactCurrentOwner:_};function D(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:L,forEach:function(e,t,n){L(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return L(e,function(){t++}),t},toArray:function(e){return L(e,function(e){return e})||[]},only:function(e){if(!z(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=r,t.Profiler=i,t.PureComponent=k,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.act=D,t.cloneElement=function(e,t,a){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=f({},e.props),o=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=_.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)j.call(t,l)&&!x.hasOwnProperty(l)&&(r[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)r.children=a;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];r.children=c}return{$$typeof:n,type:e.type,key:o,ref:i,props:r,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=z,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=I.transition;I.transition={};try{e()}finally{I.transition=t}},t.unstable_act=D,t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.3.1"}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";n.r(a),n.d(a,{initializeAdUnit:()=>If});const e=function(e,t){return e===t||e!=e&&t!=t},t=function(t,n){for(var a=t.length;a--;)if(e(t[a][0],n))return a;return-1};var r=Array.prototype.splice;function o(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}o.prototype.clear=function(){this.__data__=[],this.size=0},o.prototype.delete=function(e){var n=this.__data__,a=t(n,e);return!(a<0||(a==n.length-1?n.pop():r.call(n,a,1),--this.size,0))},o.prototype.get=function(e){var n=this.__data__,a=t(n,e);return a<0?void 0:n[a][1]},o.prototype.has=function(e){return t(this.__data__,e)>-1},o.prototype.set=function(e,n){var a=this.__data__,r=t(a,e);return r<0?(++this.size,a.push([e,n])):a[r][1]=n,this};const i=o,s="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const l=s||c||globalThis,u=l.Symbol;var d=Object.prototype,p=d.hasOwnProperty,h=d.toString,m=u?u.toStringTag:void 0;var f=Object.prototype.toString;var g=u?u.toStringTag:void 0;const b=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":g&&g in Object(e)?function(e){var t=p.call(e,m),n=e[m];try{e[m]=void 0;var a=!0}catch(e){}var r=h.call(e);return a&&(t?e[m]=n:delete e[m]),r}(e):function(e){return f.call(e)}(e)},y=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},k=function(e){if(!y(e))return!1;var t=b(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},v=l["__core-js_shared__"];var w,j=(w=/[^.]+$/.exec(v&&v.keys&&v.keys.IE_PROTO||""))?"Symbol(src)_1."+w:"";var _=Function.prototype.toString;const x=function(e){if(null!=e){try{return _.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var C=/^\[object .+?Constructor\]$/,z=Function.prototype,S=Object.prototype,E=z.toString,O=S.hasOwnProperty,L=RegExp("^"+E.call(O).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const A=function(e){return!(!y(e)||(t=e,j&&j in t))&&(k(e)?L:C).test(x(e));var t},P=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return A(n)?n:void 0},I=P(l,"Map"),N=P(Object,"create");var D=Object.prototype.hasOwnProperty;var T=Object.prototype.hasOwnProperty;function R(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}R.prototype.clear=function(){this.__data__=N?N(null):{},this.size=0},R.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},R.prototype.get=function(e){var t=this.__data__;if(N){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return D.call(t,e)?t[e]:void 0},R.prototype.has=function(e){var t=this.__data__;return N?void 0!==t[e]:T.call(t,e)},R.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=N&&void 0===t?"__lodash_hash_undefined__":t,this};const M=R,$=function(e,t){var n,a,r=e.__data__;return("string"==(a=typeof(n=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map};function B(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}B.prototype.clear=function(){this.size=0,this.__data__={hash:new M,map:new(I||i),string:new M}},B.prototype.delete=function(e){var t=$(this,e).delete(e);return this.size-=t?1:0,t},B.prototype.get=function(e){return $(this,e).get(e)},B.prototype.has=function(e){return $(this,e).has(e)},B.prototype.set=function(e,t){var n=$(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this};const U=B;function V(e){var t=this.__data__=new i(e);this.size=t.size}V.prototype.clear=function(){this.__data__=new i,this.size=0},V.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},V.prototype.get=function(e){return this.__data__.get(e)},V.prototype.has=function(e){return this.__data__.has(e)},V.prototype.set=function(e,t){var n=this.__data__;if(n instanceof i){var a=n.__data__;if(!I||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new U(a)}return n.set(e,t),this.size=n.size,this};const F=V,q=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a&&!1!==t(e[n],n,e););return e},H=function(){try{var e=P(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),K=function(e,t,n){"__proto__"==t&&H?H(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var G=Object.prototype.hasOwnProperty;const Y=function(t,n,a){var r=t[n];G.call(t,n)&&e(r,a)&&(void 0!==a||n in t)||K(t,n,a)},Q=function(e,t,n,a){var r=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var s=t[o],c=a?a(n[s],e[s],s,n,e):void 0;void 0===c&&(c=e[s]),r?K(n,s,c):Y(n,s,c)}return n},W=function(e){return null!=e&&"object"==typeof e},J=function(e){return W(e)&&"[object Arguments]"==b(e)};var Z=Object.prototype,X=Z.hasOwnProperty,ee=Z.propertyIsEnumerable;const te=J(function(){return arguments}())?J:function(e){return W(e)&&X.call(e,"callee")&&!ee.call(e,"callee")},ne=Array.isArray;var ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,re=ae&&"object"==typeof module&&module&&!module.nodeType&&module,oe=re&&re.exports===ae?l.Buffer:void 0;const ie=(oe?oe.isBuffer:void 0)||function(){return!1};var se=/^(?:0|[1-9]\d*)$/;const ce=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&se.test(e))&&e>-1&&e%1==0&&e<t},le=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var ue={};ue["[object Float32Array]"]=ue["[object Float64Array]"]=ue["[object Int8Array]"]=ue["[object Int16Array]"]=ue["[object Int32Array]"]=ue["[object Uint8Array]"]=ue["[object Uint8ClampedArray]"]=ue["[object Uint16Array]"]=ue["[object Uint32Array]"]=!0,ue["[object Arguments]"]=ue["[object Array]"]=ue["[object ArrayBuffer]"]=ue["[object Boolean]"]=ue["[object DataView]"]=ue["[object Date]"]=ue["[object Error]"]=ue["[object Function]"]=ue["[object Map]"]=ue["[object Number]"]=ue["[object Object]"]=ue["[object RegExp]"]=ue["[object Set]"]=ue["[object String]"]=ue["[object WeakMap]"]=!1;const de=function(e){return function(t){return e(t)}};var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,he=pe&&"object"==typeof module&&module&&!module.nodeType&&module,me=he&&he.exports===pe&&s.process;const fe=function(){try{return he&&he.require&&he.require("util").types||me&&me.binding&&me.binding("util")}catch(e){}}();var ge=fe&&fe.isTypedArray;const be=ge?de(ge):function(e){return W(e)&&le(e.length)&&!!ue[b(e)]};var ye=Object.prototype.hasOwnProperty;const ke=function(e,t){var n=ne(e),a=!n&&te(e),r=!n&&!a&&ie(e),o=!n&&!a&&!r&&be(e),i=n||a||r||o,s=i?function(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}(e.length,String):[],c=s.length;for(var l in e)!t&&!ye.call(e,l)||i&&("length"==l||r&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||ce(l,c))||s.push(l);return s};var ve=Object.prototype;const we=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ve)},je=function(e,t){return function(n){return e(t(n))}},_e=je(Object.keys,Object);var xe=Object.prototype.hasOwnProperty;const Ce=function(e){if(!we(e))return _e(e);var t=[];for(var n in Object(e))xe.call(e,n)&&"constructor"!=n&&t.push(n);return t},ze=function(e){return null!=e&&le(e.length)&&!k(e)},Se=function(e){return ze(e)?ke(e):Ce(e)};var Ee=Object.prototype.hasOwnProperty;const Oe=function(e){if(!y(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=we(e),n=[];for(var a in e)("constructor"!=a||!t&&Ee.call(e,a))&&n.push(a);return n},Le=function(e){return ze(e)?ke(e,!0):Oe(e)};var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Pe=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,Ie=Pe&&Pe.exports===Ae?l.Buffer:void 0,Ne=Ie?Ie.allocUnsafe:void 0;const De=function(e,t){for(var n=-1,a=null==e?0:e.length,r=0,o=[];++n<a;){var i=e[n];t(i,n,e)&&(o[r++]=i)}return o},Te=function(){return[]};var Re=Object.prototype.propertyIsEnumerable,Me=Object.getOwnPropertySymbols;const $e=Me?function(e){return null==e?[]:(e=Object(e),De(Me(e),function(t){return Re.call(e,t)}))}:Te,Be=function(e,t){for(var n=-1,a=t.length,r=e.length;++n<a;)e[r+n]=t[n];return e},Ue=je(Object.getPrototypeOf,Object),Ve=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Be(t,$e(e)),e=Ue(e);return t}:Te,Fe=function(e,t,n){var a=t(e);return ne(e)?a:Be(a,n(e))},qe=function(e){return Fe(e,Se,$e)},He=function(e){return Fe(e,Le,Ve)},Ke=P(l,"DataView"),Ge=P(l,"Promise"),Ye=P(l,"Set"),Qe=P(l,"WeakMap");var We="[object Map]",Je="[object Promise]",Ze="[object Set]",Xe="[object WeakMap]",et="[object DataView]",tt=x(Ke),nt=x(I),at=x(Ge),rt=x(Ye),ot=x(Qe),it=b;(Ke&&it(new Ke(new ArrayBuffer(1)))!=et||I&&it(new I)!=We||Ge&&it(Ge.resolve())!=Je||Ye&&it(new Ye)!=Ze||Qe&&it(new Qe)!=Xe)&&(it=function(e){var t=b(e),n="[object Object]"==t?e.constructor:void 0,a=n?x(n):"";if(a)switch(a){case tt:return et;case nt:return We;case at:return Je;case rt:return Ze;case ot:return Xe}return t});const st=it;var ct=Object.prototype.hasOwnProperty;const lt=l.Uint8Array,ut=function(e){var t=new e.constructor(e.byteLength);return new lt(t).set(new lt(e)),t};var dt=/\w*$/;var pt=u?u.prototype:void 0,ht=pt?pt.valueOf:void 0;const mt=function(e,t,n){var a,r,o,i=e.constructor;switch(t){case"[object ArrayBuffer]":return ut(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return function(e,t){var n=t?ut(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var n=t?ut(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,n);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return(o=new(r=e).constructor(r.source,dt.exec(r))).lastIndex=r.lastIndex,o;case"[object Symbol]":return a=e,ht?Object(ht.call(a)):{}}};var ft=Object.create,gt=function(){function e(){}return function(t){if(!y(t))return{};if(ft)return ft(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const bt=gt;var yt=fe&&fe.isMap;const kt=yt?de(yt):function(e){return W(e)&&"[object Map]"==st(e)};var vt=fe&&fe.isSet;const wt=vt?de(vt):function(e){return W(e)&&"[object Set]"==st(e)};var jt="[object Arguments]",_t="[object Function]",xt="[object Object]",Ct={};Ct[jt]=Ct["[object Array]"]=Ct["[object ArrayBuffer]"]=Ct["[object DataView]"]=Ct["[object Boolean]"]=Ct["[object Date]"]=Ct["[object Float32Array]"]=Ct["[object Float64Array]"]=Ct["[object Int8Array]"]=Ct["[object Int16Array]"]=Ct["[object Int32Array]"]=Ct["[object Map]"]=Ct["[object Number]"]=Ct[xt]=Ct["[object RegExp]"]=Ct["[object Set]"]=Ct["[object String]"]=Ct["[object Symbol]"]=Ct["[object Uint8Array]"]=Ct["[object Uint8ClampedArray]"]=Ct["[object Uint16Array]"]=Ct["[object Uint32Array]"]=!0,Ct["[object Error]"]=Ct[_t]=Ct["[object WeakMap]"]=!1;const zt=function e(t,n,a,r,o,i){var s,c=1&n,l=2&n,u=4&n;if(a&&(s=o?a(t,r,o,i):a(t)),void 0!==s)return s;if(!y(t))return t;var d=ne(t);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(t),!c)return function(e,t){var n=-1,a=e.length;for(t||(t=Array(a));++n<a;)t[n]=e[n];return t}(t,s)}else{var p=st(t),h=p==_t||"[object GeneratorFunction]"==p;if(ie(t))return function(e,t){if(t)return e.slice();var n=e.length,a=Ne?Ne(n):new e.constructor(n);return e.copy(a),a}(t,c);if(p==xt||p==jt||h&&!o){if(s=l||h?{}:function(e){return"function"!=typeof e.constructor||we(e)?{}:bt(Ue(e))}(t),!c)return l?function(e,t){return Q(e,Ve(e),t)}(t,function(e,t){return e&&Q(t,Le(t),e)}(s,t)):function(e,t){return Q(e,$e(e),t)}(t,function(e,t){return e&&Q(t,Se(t),e)}(s,t))}else{if(!Ct[p])return o?t:{};s=mt(t,p,c)}}i||(i=new F);var m=i.get(t);if(m)return m;i.set(t,s),wt(t)?t.forEach(function(r){s.add(e(r,n,a,r,t,i))}):kt(t)&&t.forEach(function(r,o){s.set(o,e(r,n,a,o,t,i))});var f=d?void 0:(u?l?He:qe:l?Le:Se)(t);return q(f||t,function(r,o){f&&(r=t[o=r]),Y(s,o,e(r,n,a,o,t,i))}),s};function St(e){if(e.success)return e.response;throw new Error(e.errorMessage)}const Et=function(){const e=new Map;return new Proxy({},{get(t,n){if("string"!=typeof n)return;const a=n;return e.has(a)||e.set(a,function(e,t){return function(...n){let a;a=1===n.length?n[0]:void 0,"firefox@getdirecto.com"===chrome.runtime.id&&void 0!==a&&(a=zt(a,5));const r={serverId:e,handlerId:t,...void 0!==a?{payload:a}:{}};return chrome.runtime.sendMessage(r).then(St)}}("DIRECTO_CORE_BACKGROUND",a)),e.get(a)}})}();function Ot(e){throw new Error(`Non-never value at runtime: ${e}`)}function Lt(e,t,n,a){void 0===n?e.searchParams[a](t,"undefined"):null===n?e.searchParams[a](t,"null"):"boolean"==typeof n?e.searchParams[a](t,n?"true":"false"):"number"==typeof n?e.searchParams[a](t,n.toString(10)):"string"==typeof n?e.searchParams[a](t,n):"object"==typeof n?e.searchParams[a](t,JSON.stringify(n)):Ot(n)}class At extends Error{source;constructor(e,t){super(e),this.name="ApiError",this.source=t}}class Pt extends At{constructor(e){super(`Fetch error: ${e.message}`,e)}}class It extends At{status;statusText;response;constructor(e){const{status:t,statusText:n}=e;super(`Status error (${t}): ${n}`),this.status=t,this.statusText=n,this.response=e}}class Nt extends At{response;constructor(e,t){const[n,a]="string"==typeof t?[t,void 0]:[t.message,t];super(`Response body error: ${n}`,a),this.response=e}}async function Dt(e,t){try{return await fetch(e,t)}catch(e){if(e instanceof TypeError)throw new Pt(e);throw e}}class Tt{body;constructor(e){this.body=e}static Json(e){return new Tt({type:"json",json:e})}static B64JsonLegacy(e){return new Tt({type:"b64json-legacy",json:e})}static B64Json(e){return new Tt({type:"b64json",json:e})}static String(e){return new Tt({type:"string",string:e})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json-legacy":case"string":return"text/plain";case"b64json":return"application/base64+json";default:Ot(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json-legacy":case"b64json":return e=JSON.stringify(this.body.json),function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let n="",a=0;for(;a+2<e.length;a+=3){const r=e[a]<<16|e[a+1]<<8|e[a+2];n+=t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[63&r]}if(a<e.length){const r=e[a]<<16|(a+1<e.length?e[a+1]:0)<<8;n+=t[r>>>18&63]+t[r>>>12&63]+(a+1<e.length?t[r>>>6&63]:"=")+"="}return n}((new TextEncoder).encode(e));case"string":return this.body.string;default:Ot(this.body)}var e}}function Rt(e){return new Promise(t=>{setTimeout(t,e)})}function Mt(e){const t=function(e){const t=e.trim();return/^[+-]?\d+$/.test(t)?parseInt(t,10):null}(e);return null===t||t<0?null:t}function $t(e){const t=function(e){const t=parseInt(e,10);return isNaN(t)?null:t}(e);return null===t||t<0?null:t}function Bt(e){return"string"==typeof e?e:"number"==typeof e?e.toString():null}var Ut=Object.prototype.hasOwnProperty;const Vt=function(e){if(null==e)return!0;if(ze(e)&&(ne(e)||"string"==typeof e||"function"==typeof e.splice||ie(e)||be(e)||te(e)))return!e.length;var t=st(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(we(e))return!Ce(e).length;for(var n in e)if(Ut.call(e,n))return!1;return!0};function Ft(e){if(function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}(e))return e}function qt(e,t){const n="function"==typeof t?t:e=>t.test(e),a=Object.keys(e).find(n);if(a)return e[a]}function Ht(e){return JSON.parse(e)}function Kt(e){const t=function(e){return Ft(Ht(e))??null}(e);return!t||Vt(t)?null:t}function Gt(e,{backoffMultiplier:t=1,retryAfter:n=null}={}){if(n){const e=function(e){const t=Mt(e);if(null!==t)return 1e3*t;const n=Date.parse(e);return isNaN(n)?null:n-Date.now()}(n);if(null!==e)return Math.max(Math.min(e,1e4),500)}return Math.min(500*Math.pow(2,e),1e4)*t*(1+.1*(2*Math.random()-1))}class Yt{checkContentType(e){return null===this.contentType||(e?.includes(this.contentType)??!1)}}class Qt extends Yt{name="JsonBodyParser";contentType="application/json";async parse(e){try{return e.json()}catch(t){throw new Nt(e,t instanceof Error?t:"Failed to parse JSON")}}}class Wt extends Yt{name="B64JsonBodyParser";contentType="application/base64+json";async parse(e){try{const t=await e.text();return Ht(atob(t))}catch(t){throw new Nt(e,t instanceof Error?t:"Failed to parse Base64 JSON")}}}class Jt extends Yt{name="VoidBodyParser";contentType=null;async parse(e){}}async function Zt(e,t,n,a,r){if(e.status>=200&&e.status<300){const{parser:n,ignoreContentTypeHeader:a=!1}=t??{},r=e.headers.get("Content-Type");if(!a&&!n.checkContentType(r))throw new Nt(e,`Did not expect Content-Type "${r}" for parser ${n.name}`);return await t.parser.parse(e)}if(n>=5)throw new It(e);if(401===e.status&&r)return r(n+1);if(429===e.status||503===e.status){const t=Gt(n+2,{backoffMultiplier:2,retryAfter:e.headers.get("Retry-After")});return await Rt(t),a(n+3)}if(e.status>=400&&e.status<=499)throw new It(e);{const e=Gt(n);return await Rt(e),a(n+1)}}const Xt="unauthenticated";class en{rootUrl;appVersion;getTruesignToken;injectInto;partnerKey;constructor(e,t){const n=t.getTruesignToken;n&&(this.getTruesignToken=async e=>{try{return await n(e)??Xt}catch{return Xt}}),this.rootUrl=e,this.injectInto=t.injectInto??"query",this.appVersion=t.appVersion,this.partnerKey=t.partnerKey}buildUrl(e){return new URL(`${this.rootUrl}${e}`)}async applyQueryParams(e,t,n){return function(e,t){const n=new URL(e);for(const[e,a]of Object.entries(t))if(Array.isArray(a)){n.searchParams.delete(e);for(const t of a)Lt(n,e,t,"append")}else Lt(n,e,a,"set");return n}(e,{...n,..."query"===this.injectInto?{...t?{tsToken:t}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(e,t){const n=new Headers(t);return"headers"===this.injectInto&&(e&&n.set("X-TS-Token",e),this.partnerKey&&n.set("X-Partner-Key",this.partnerKey),n.set("X-App-Version",this.appVersion)),n}async get(e,{params:t={},request:n={},parser:a=new Qt,doNotSendAcceptHeader:r=!1,ignoreContentTypeHeader:o=!1}={}){const i=this.buildUrl(e),s=await(this.getTruesignToken?.(null))??null,c=await this.applyQueryParams(i,s,t),l=await this.applyHeaders(s,n?.headers);return r||!a.contentType||l.has("Accept")||l.set("Accept",a.contentType),this._get(c,0,s,{...n,headers:l},{parser:a,ignoreContentTypeHeader:o})}async _get(e,t,n,a,r){try{return Zt(await Dt(e,{...a,body:void 0,method:"GET"}),r,t,t=>this._get(e,t,n,a,r),this.getTruesignToken?async t=>{const o=await(this.getTruesignToken?.(n))??null,i=await this.applyQueryParams(e,o),s=await this.applyHeaders(o,a.headers);return this._get(i,t,o,{...a,headers:s},r)}:null)}catch(t){throw console.error(`Error on get ${e.origin}${e.pathname}`,t),t}}async post(e,{params:t={},body:n=null,request:a={},parser:r=new Jt,doNotSendAcceptHeader:o=!1,ignoreContentTypeHeader:i=!1}={}){const s=this.buildUrl(e),c=await(this.getTruesignToken?.(null))??null,l=await this.applyQueryParams(s,c,t),u=await this.applyHeaders(c,a?.headers);n&&!u.has("Content-Type")&&u.set("Content-Type",n.getContentType()),o||!r.contentType||u.has("Accept")||u.set("Accept",r.contentType);const d=n?n.getSerialized():null;return this._post(l,d,0,c,{...a,headers:u},{parser:r,ignoreContentTypeHeader:i})}async _post(e,t,n,a,r,o){try{return Zt(await Dt(e,{...r,body:t,method:"POST"}),o,n,n=>this._post(e,t,n,a,r,o),this.getTruesignToken?async n=>{const i=await(this.getTruesignToken?.(a))??null,s=await this.applyQueryParams(e,i),c=await this.applyHeaders(i,r.headers);return this._post(s,t,n,i,{...r,headers:c},o)}:null)}catch(t){throw console.error(`Error on post ${e.origin}${e.pathname}`,t),t}}}class tn{apiService=null;rootUrl;options;constructor(e,t){this.rootUrl=e,this.options=t,this.apiService=null}initialize(e){if(this.apiService)throw new Error("APIService already initialized");const t=this.options?.truesignEndpoint;this.apiService=new en(this.rootUrl,{...this.options,...e,...t?{getTruesignToken:n=>e.getTruesignToken({endpoint:t,knownInvalidToken:n})}:{getTruesignToken:void 0}})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}makeZodOpenApiRouteGet(e){return t=>async n=>this.get().get(e(n.path),{...n.query?{params:n.query}:{},parser:new t})}makeZodOpenApiRoutePost(e,t){return n=>async a=>this.get().post(e(a.path),{...a.query?{params:a.query}:{},...a.body?{body:t(a.body)}:{},parser:new n})}}const nn=new tn("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"}),an=new tn("https://events.getdirecto.com",{truesignEndpoint:"80298941"});async function rn(e){return await an.get().post("/experiment",{body:Tt.B64JsonLegacy(e)})}an.get.bind(an);const on=new tn("https://metasearch.getdirecto.com",{truesignEndpoint:"1678801807",injectInto:"headers"});on.get.bind(on);const sn=new tn("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"});sn.get.bind(sn);const cn=new tn("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"}),ln=new tn("https://remote-config.getdirecto.com",{injectInto:"headers",truesignEndpoint:"1999655537"});function un(e,t=Vt,n=10){let a=0;return async function r(...o){const i=await e(...o);return t(i)&&a<=n?(a+=1,await new Promise(e=>setTimeout(e,2**a)),r(...o)):i}}function dn(e,t=2){const n="0".repeat(t)+e;return n.slice(n.length-t,n.length)}ln.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}`)(Wt),ln.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}/patches`)(Wt);const pn=function(e){return"symbol"==typeof e||W(e)&&"[object Symbol]"==b(e)};var hn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mn=/^\w*$/;const fn=function(e,t){if(ne(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!pn(e))||mn.test(e)||!hn.test(e)||null!=t&&e in Object(t)};function gn(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=t?t.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=e.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(gn.Cache||U),n}gn.Cache=U;const bn=gn;var yn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kn=/\\(\\)?/g;const vn=function(e){var t=bn(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(yn,function(e,n,a,r){t.push(a?r.replace(kn,"$1"):n||e)}),t}),wn=function(e,t){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n<a;)r[n]=t(e[n],n,e);return r};var jn=u?u.prototype:void 0,_n=jn?jn.toString:void 0;const xn=function e(t){if("string"==typeof t)return t;if(ne(t))return wn(t,e)+"";if(pn(t))return _n?_n.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},Cn=function(e){return null==e?"":xn(e)},zn=function(e,t){return ne(e)?e:fn(e,t)?[e]:vn(Cn(e))},Sn=function(e){if("string"==typeof e||pn(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},En=function(e,t){for(var n=0,a=(t=zn(t,e)).length;null!=e&&n<a;)e=e[Sn(t[n++])];return n&&n==a?e:void 0},On=function(e,t,n){var a=null==e?void 0:En(e,t);return void 0===a?n:a},Ln=function(e,t,n){for(var a=-1,r=Object(e),o=n(e),i=o.length;i--;){var s=o[An?i:++a];if(!1===t(r[s],s,r))break}return e};var An;const Pn=function(e,t){return e&&Ln(e,t,Se)},In=function(e,t){return function(n,a){if(null==n)return n;if(!ze(n))return e(n,a);for(var r=n.length,o=t?r:-1,i=Object(n);(t?o--:++o<r)&&!1!==a(i[o],o,i););return n}}(Pn),Nn=function(e){return e},Dn=function(e,t){return(ne(e)?q:In)(e,"function"==typeof(n=t)?n:Nn);var n},Tn="userLocale";function Rn(){let e;return e=null!=navigator.languages?navigator.languages[0]:navigator.language,e=e.split("-")[0]||e||"en",e}let Mn=null;function $n(){return Mn=Mn||Rn(),Mn}function Bn(e,t=document){let n=null;for(const a of e){const e=t.querySelector(a);if(e){n=e;break}}return n}function Un(e,t=document){let n=null;for(const a of e){const e=t.querySelectorAll(a);if(e.length){n=e;break}}return n}async function Vn(e,t,n){if(n.signal?.aborted)return;const a=await un(e=>{const t=Bn(e);return t&&n.getContainer?n.getContainer(t):t},e=>!e)(e);if(n.signal?.aborted)return;if(!a){if(null!==n.retryMs){const a=setTimeout(()=>{Vn(e,t,n)},n.retryMs),r=()=>{n.signal?.removeEventListener("abort",r),clearTimeout(a)};n.signal?.addEventListener("abort",r)}return}const r=await t(a);if(!n.signal?.aborted&&null!==n.checkIntervalMs){const o=setInterval(()=>{a.isConnected||(r?.(),clearInterval(o),Vn(e,t,n))},n.checkIntervalMs),i=()=>{n.signal?.removeEventListener("abort",i),clearInterval(o)};n.signal?.addEventListener("abort",i)}}function Fn(){return function(){let e=document.documentElement.lang;return e=e.split("-")[0],e?e.toLowerCase():null}()??Rn()}async function qn(e,t=10){const n=await un(Bn,e=>!e||!e.textContent,t)(e);if(!n||!n.textContent)return null;let a;try{a=Ht(n.textContent)}catch(t){return console.error("Error parsing JSON from selectors",e,t),null}const r=Ft(a);return!r||Vt(r)?null:r}function Hn(e){return e.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0})}function Kn(e){const t=e.textContent.trim();return""!==t?t:"value"in e&&"string"==typeof e.value?e.value.trim():null}!async function(){const{[Tn]:e}=await chrome.storage.local.get(Tn);Mn=e??null}();var Gn=n(258),Yn=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,Qn={revert:function(){}},Wn=new Map,Jn=new Set;function Zn(e){var t=Wn.get(e);return t||(t={element:e,attributes:{}},Wn.set(e,t)),t}function Xn(e,t,n,a,r){var o=n(e),i={isDirty:!1,originalValue:o,virtualValue:o,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if("position"!==t||!i._positionTimeout){"position"===t&&(i._positionTimeout=setTimeout(function(){i._positionTimeout=null},1e3));var a=n(e);"position"===t&&a.parentNode===i.virtualValue.parentNode&&a.insertBeforeNode===i.virtualValue.insertBeforeNode||a!==i.virtualValue&&(i.originalValue=a,r(i))}}),mutationRunner:r,setValue:a,getCurrentValue:n};return"position"===t&&e.parentNode?i.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):i.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t)),i}function ea(e,t){var n=t.getCurrentValue(t.el);t.virtualValue=e,e&&"string"!=typeof e?n&&e.parentNode===n.parentNode&&e.insertBeforeNode===n.insertBeforeNode||(t.isDirty=!0,ka()):e!==n&&(t.isDirty=!0,ka())}function ta(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),ea(function(e){return da||(da=document.createElement("div")),da.innerHTML=e,da.innerHTML}(t),e)}function na(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(e){return e.mutate(t)}),ea(Array.from(t).filter(Boolean).join(" "),e)}function aa(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),ea(t,e)}function ra(e){var t=e.originalValue;e.mutations.forEach(function(e){var n=function(e){var t=e.parentSelector,n=e.insertBeforeSelector,a=document.querySelector(t);if(!a)return null;var r=n?document.querySelector(n):null;return n&&!r?null:{parentNode:a,insertBeforeNode:r}}(e.mutate());t=n||t}),ea(t,e)}var oa=function(e){return e.innerHTML},ia=function(e,t){return e.innerHTML=t};function sa(e){var t=Zn(e);return t.html||(t.html=Xn(e,"html",oa,ia,ta)),t.html}var ca=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},la=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function ua(e){var t=Zn(e);return t.position||(t.position=Xn(e,"position",ca,la,ra)),t.position}var da,pa,ha=function(e,t){return t?e.className=t:e.removeAttribute("class")},ma=function(e){return e.className};function fa(e){var t=Zn(e);return t.classes||(t.classes=Xn(e,"class",ma,ha,na)),t.classes}function ga(e,t){var n,a=Zn(e);return a.attributes[t]||(a.attributes[t]=Xn(e,t,(n=t,function(e){var t;return null!=(t=e.getAttribute(n))?t:null}),function(e){return function(t,n){return null!==n?t.setAttribute(e,n):t.removeAttribute(e)}}(t),aa)),a.attributes[t]}function ba(e,t,n){if(n.isDirty){n.isDirty=!1;var a=n.virtualValue;n.mutations.length||function(e,t){var n,a,r=Wn.get(e);if(r)if("html"===t)null==(n=r.html)||null==(a=n.observer)||a.disconnect(),delete r.html;else if("class"===t){var o,i;null==(o=r.classes)||null==(i=o.observer)||i.disconnect(),delete r.classes}else if("position"===t){var s,c;null==(s=r.position)||null==(c=s.observer)||c.disconnect(),delete r.position}else{var l,u,d;null==(l=r.attributes)||null==(u=l[t])||null==(d=u.observer)||d.disconnect(),delete r.attributes[t]}}(e,t),n.setValue(e,a)}}function ya(e,t){e.html&&ba(t,"html",e.html),e.classes&&ba(t,"class",e.classes),e.position&&ba(t,"position",e.position),Object.keys(e.attributes).forEach(function(n){ba(t,n,e.attributes[n])})}function ka(){Wn.forEach(ya)}function va(e){if("position"!==e.kind||1!==e.elements.size){var t=new Set(e.elements);document.querySelectorAll(e.selector).forEach(function(n){t.has(n)||(e.elements.add(n),function(e,t){var n=null;"html"===e.kind?n=sa(t):"class"===e.kind?n=fa(t):"attribute"===e.kind?n=ga(t,e.attribute):"position"===e.kind&&(n=ua(t)),n&&(n.mutations.push(e),n.mutationRunner(n))}(e,n))})}}function wa(){Jn.forEach(va)}function ja(e){return"undefined"==typeof document?Qn:(Jn.add(e),va(e),{revert:function(){var t;(t=e).elements.forEach(function(e){return function(e,t){var n=null;if("html"===e.kind?n=sa(t):"class"===e.kind?n=fa(t):"attribute"===e.kind?n=ga(t,e.attribute):"position"===e.kind&&(n=ua(t)),n){var a=n.mutations.indexOf(e);-1!==a&&n.mutations.splice(a,1),n.mutationRunner(n)}}(t,e)}),t.elements.clear(),Jn.delete(t)}})}function _a(e,t){return ja({kind:"html",elements:new Set,mutate:t,selector:e})}function xa(e,t){return ja({kind:"position",elements:new Set,mutate:t,selector:e})}function Ca(e,t){return ja({kind:"class",elements:new Set,mutate:t,selector:e})}function za(e,t,n){return Yn.test(t)?"class"===t||"className"===t?Ca(e,function(e){var t=n(Array.from(e).join(" "));e.clear(),t&&t.split(/\s+/g).filter(Boolean).forEach(function(t){return e.add(t)})}):ja({kind:"attribute",attribute:t,elements:new Set,mutate:n,selector:e}):Qn}"undefined"!=typeof document&&(pa||(pa=new MutationObserver(function(){wa()})),wa(),pa.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}));var Sa={html:_a,classes:Ca,attribute:za,position:xa,declarative:function(e){var t=e.selector,n=e.action,a=e.value,r=e.attribute,o=e.parentSelector,i=e.insertBeforeSelector;if("html"===r){if("append"===n)return _a(t,function(e){return e+(null!=a?a:"")});if("set"===n)return _a(t,function(){return null!=a?a:""})}else if("class"===r){if("append"===n)return Ca(t,function(e){a&&e.add(a)});if("remove"===n)return Ca(t,function(e){a&&e.delete(a)});if("set"===n)return Ca(t,function(e){e.clear(),a&&e.add(a)})}else if("position"===r){if("set"===n&&o)return xa(t,function(){return{insertBeforeSelector:i,parentSelector:o}})}else{if("append"===n)return za(t,r,function(e){return null!==e?e+(null!=a?a:""):null!=a?a:""});if("set"===n)return za(t,r,function(){return null!=a?a:""});if("remove"===n)return za(t,r,function(){return null})}return Qn}};const Ea=Sa;function Oa(e){let t=2166136261;const n=e.length;for(let a=0;a<n;a++)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return t>>>0}function La(e,t,n){return 2===n?Oa(Oa(e+t)+"")%1e4/1e4:1===n?Oa(t+e)%1e3/1e3:null}function Aa(e,t){return e>=t[0]&&e<t[1]}function Pa(e){try{const t=e.replace(/([^\\])\//g,"$1\\/");return new RegExp(t)}catch(e){return void console.error(e)}}function Ia(e,t,n){try{const a=new URL(e,"https://_");if("regex"===t){const e=Pa(n);return!!e&&(e.test(a.href)||e.test(a.href.substring(a.origin.length)))}return"simple"===t&&function(e,t){try{const n=new URL(t.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),a=[[e.host,n.host,!1],[e.pathname,n.pathname,!0]];return n.hash&&a.push([e.hash,n.hash,!1]),n.searchParams.forEach((t,n)=>{a.push([e.searchParams.get(n)||"",t,!1])}),!a.some(e=>!function(e,t,n){try{let a=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return n&&(a="\\/?"+a.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+a+"$","i").test(e)}catch(e){return!1}}(e[0],e[1],e[2]))}catch(e){return!1}}(a,n)}catch(e){return!1}}const Na=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function Da(e,t,n){if(t=t||"",!(n=n||globalThis.crypto&&globalThis.crypto.subtle))throw new Error("No SubtleCrypto implementation found");try{const a=await n.importKey("raw",Na(t),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[r,o]=e.split("."),i=await n.decrypt({name:"AES-CBC",iv:Na(r)},a,Na(o));return(new TextDecoder).decode(i)}catch(e){throw new Error("Failed to decrypt")}}function Ta(e){return"string"==typeof e?e:JSON.stringify(e)}function Ra(e){"number"==typeof e&&(e+=""),e&&"string"==typeof e||(e="0");const t=e.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return 3===t.length&&t.push("~"),t.map(e=>e.match(/^[0-9]+$/)?e.padStart(5," "):e).join("-")}const Ma={};function $a(e,t){if("$or"in t)return Ha(e,t.$or);if("$nor"in t)return!Ha(e,t.$nor);if("$and"in t)return function(e,t){for(let n=0;n<t.length;n++)if(!$a(e,t[n]))return!1;return!0}(e,t.$and);if("$not"in t)return!$a(e,t.$not);for(const[n,a]of Object.entries(t))if(!Ua(a,Ba(e,n)))return!1;return!0}function Ba(e,t){const n=t.split(".");let a=e;for(let e=0;e<n.length;e++){if(!a||"object"!=typeof a||!(n[e]in a))return null;a=a[n[e]]}return a}function Ua(e,t){if("string"==typeof e)return t+""===e;if("number"==typeof e)return 1*t===e;if("boolean"==typeof e)return!!t===e;if(null===e)return null===t;if(Array.isArray(e)||!Va(e))return JSON.stringify(t)===JSON.stringify(e);for(const n in e)if(!qa(n,t,e[n]))return!1;return!0}function Va(e){const t=Object.keys(e);return t.length>0&&t.filter(e=>"$"===e[0]).length===t.length}function Fa(e,t){return Array.isArray(e)?e.some(e=>t.includes(e)):t.includes(e)}function qa(e,t,n){switch(e){case"$veq":return Ra(t)===Ra(n);case"$vne":return Ra(t)!==Ra(n);case"$vgt":return Ra(t)>Ra(n);case"$vgte":return Ra(t)>=Ra(n);case"$vlt":return Ra(t)<Ra(n);case"$vlte":return Ra(t)<=Ra(n);case"$eq":return t===n;case"$ne":return t!==n;case"$lt":return t<n;case"$lte":return t<=n;case"$gt":return t>n;case"$gte":return t>=n;case"$exists":return n?null!=t:null==t;case"$in":return!!Array.isArray(n)&&Fa(t,n);case"$nin":return!!Array.isArray(n)&&!Fa(t,n);case"$not":return!Ua(n,t);case"$size":return!!Array.isArray(t)&&Ua(n,t.length);case"$elemMatch":return function(e,t){if(!Array.isArray(e))return!1;const n=Va(t)?e=>Ua(t,e):e=>$a(e,t);for(let t=0;t<e.length;t++)if(e[t]&&n(e[t]))return!0;return!1}(t,n);case"$all":if(!Array.isArray(t))return!1;for(let e=0;e<n.length;e++){let a=!1;for(let r=0;r<t.length;r++)if(Ua(n[e],t[r])){a=!0;break}if(!a)return!1}return!0;case"$regex":try{return(a=n,Ma[a]||(Ma[a]=new RegExp(a.replace(/([^\\])\//g,"$1\\/"))),Ma[a]).test(t)}catch(e){return!1}case"$type":return function(e){if(null===e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return["string","number","boolean","object","undefined"].includes(t)?t:"unknown"}(t)===n;default:return console.error("Unknown operator: "+e),!1}var a}function Ha(e,t){if(!t.length)return!0;for(let n=0;n<t.length;n++)if($a(e,t[n]))return!0;return!1}const Ka={staleTTL:6e4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4},Ga={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource},Ya={fetchFeaturesCall:e=>{let{host:t,clientKey:n,headers:a}=e;return Ga.fetch("".concat(t,"/api/features/").concat(n),{headers:a})},fetchRemoteEvalCall:e=>{let{host:t,clientKey:n,payload:a,headers:r}=e;const o={method:"POST",headers:{"Content-Type":"application/json",...r},body:JSON.stringify(a)};return Ga.fetch("".concat(t,"/api/eval/").concat(n),o)},eventSourceCall:e=>{let{host:t,clientKey:n,headers:a}=e;return a?new Ga.EventSource("".concat(t,"/sub/").concat(n),{headers:a}):new Ga.EventSource("".concat(t,"/sub/").concat(n))},startIdleListener:()=>{let e;if("undefined"==typeof window||"undefined"==typeof document)return;const t=()=>{"visible"===document.visibilityState?(window.clearTimeout(e),Xa.forEach(e=>{e&&"idle"===e.state&&pr(e)})):"hidden"===document.visibilityState&&(e=window.setTimeout(tr,Ka.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(Ga.localStorage=globalThis.localStorage)}catch(e){}const Qa=new Map;let Wa=!1;const Ja=new Map,Za=new Map,Xa=new Map,er=new Set;function tr(){Xa.forEach(e=>{e&&(e.state="idle",dr(e))})}async function nr(){try{if(!Ga.localStorage)return;await Ga.localStorage.setItem(Ka.cacheKey,JSON.stringify(Array.from(Ja.entries())))}catch(e){}}function ar(e){const[t,n]=e.getApiInfo();return"".concat(t,"||").concat(n)}function rr(e){const t=ar(e);if(!e.isRemoteEval())return t;const n=e.getAttributes(),a=e.getCacheKeyAttributes()||Object.keys(e.getAttributes()),r={};a.forEach(e=>{r[e]=n[e]});const o=e.getForcedVariations(),i=e.getUrl();return"".concat(t,"||").concat(JSON.stringify({ca:r,fv:o,url:i}))}function or(){const e=Array.from(Ja.entries()).map(e=>{let[t,n]=e;return{key:t,staleAt:n.staleAt.getTime()}}).sort((e,t)=>e.staleAt-t.staleAt),t=Math.min(Math.max(0,Ja.size-Ka.maxEntries),Ja.size);for(let n=0;n<t;n++)Ja.delete(e[n].key)}function ir(e,t,n){const a=n.dateUpdated||"",r=new Date(Date.now()+Ka.staleTTL),o=Ja.get(t);if(o&&a&&o.version===a)return o.staleAt=r,void nr();Ja.set(t,{data:n,version:a,staleAt:r,sse:er.has(e)}),or(),nr();const i=Qa.get(e);i&&i.forEach(e=>sr(e,n))}async function sr(e,t){t=await e.decryptPayload(t,void 0,Ga.SubtleCrypto),await e.refreshStickyBuckets(t),e.setExperiments(t.experiments||e.getExperiments()),e.setFeatures(t.features||e.getFeatures())}async function cr(e){const{apiHost:t,apiRequestHeaders:n}=e.getApiHosts(),a=e.getClientKey(),r=e.isRemoteEval(),o=ar(e),i=rr(e);let s=Za.get(i);return s||(s=(r?Ya.fetchRemoteEvalCall({host:t,clientKey:a,payload:{attributes:e.getAttributes(),forcedVariations:e.getForcedVariations(),forcedFeatures:Array.from(e.getForcedFeatures().entries()),url:e.getUrl()},headers:n}):Ya.fetchFeaturesCall({host:t,clientKey:a,headers:n})).then(e=>("enabled"===e.headers.get("x-sse-support")&&er.add(o),e.json())).then(t=>(ir(o,i,t),lr(e),Za.delete(i),t)).catch(e=>(Za.delete(i),Promise.resolve({}))),Za.set(i,s)),await s}function lr(e){const t=ar(e),n=rr(e),{streamingHost:a,streamingHostRequestHeaders:r}=e.getApiHosts(),o=e.getClientKey();if(Ka.backgroundSync&&er.has(t)&&Ga.EventSource){if(Xa.has(t))return;const e={src:null,host:a,clientKey:o,headers:r,cb:a=>{try{if("features-updated"===a.type){const e=Qa.get(t);e&&e.forEach(e=>{cr(e)})}else if("features"===a.type){const e=JSON.parse(a.data);ir(t,n,e)}e.errors=0}catch(t){ur(e)}},errors:0,state:"active"};Xa.set(t,e),pr(e)}}function ur(e){if("idle"!==e.state&&(e.errors++,e.errors>3||e.src&&2===e.src.readyState)){const t=Math.pow(3,e.errors-3)*(1e3+1e3*Math.random());dr(e),setTimeout(()=>{["idle","active"].includes(e.state)||pr(e)},Math.min(t,3e5))}}function dr(e){e.src&&(e.src.onopen=null,e.src.onerror=null,e.src.close(),e.src=null,"active"===e.state&&(e.state="disabled"))}function pr(e){e.src=Ya.eventSourceCall({host:e.host,clientKey:e.clientKey,headers:e.headers}),e.state="active",e.src.addEventListener("features",e.cb),e.src.addEventListener("features-updated",e.cb),e.src.onerror=()=>ur(e),e.src.onopen=()=>{e.errors=0}}const hr="undefined"!=typeof window&&"undefined"!=typeof document,mr=function(){let e;try{e="0.32.0"}catch(t){e=""}return e}();class fr{constructor(e){if(e=e||{},this.version=mr,this._ctx=this.context=e,this._renderer=null,this._trackedExperiments=new Set,this._trackedFeatures={},this.debug=!1,this._subscriptions=new Set,this._rtQueue=[],this._rtTimer=0,this.ready=!1,this._assigned=new Map,this._forcedFeatureValues=new Map,this._attributeOverrides={},this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._loadFeaturesCalled=!1,e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch(e){}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");e.features&&(this.ready=!0),hr&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),e.clientKey&&!e.remoteEval&&this._refresh({},!0,!1)}async loadFeatures(e){e&&e.autoRefresh&&(this._ctx.subscribeToChanges=!0),this._loadFeaturesCalled=!0,await this._refresh(e,!0,!0),this._canSubscribe()&&function(e){const t=ar(e),n=Qa.get(t)||new Set;n.add(e),Qa.set(t,n)}(this)}async refreshFeatures(e){await this._refresh(e,!1,!0)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){const e=this._ctx.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(this._ctx.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:this._ctx.apiHostRequestHeaders,streamingHostRequestHeaders:this._ctx.streamingHostRequestHeaders}}getClientKey(){return this._ctx.clientKey||""}isRemoteEval(){return this._ctx.remoteEval||!1}getCacheKeyAttributes(){return this._ctx.cacheKeyAttributes}async _refresh(e,t,n){if(e=e||{},!this._ctx.clientKey)throw new Error("Missing clientKey");await async function(e,t,n,a,r,o){o||(Ka.backgroundSync=!1);const i=await async function(e,t,n,a){const r=ar(e),o=rr(e),i=new Date;await async function(){if(!Wa){Wa=!0;try{if(Ga.localStorage){const e=await Ga.localStorage.getItem(Ka.cacheKey);if(e){const t=JSON.parse(e);t&&Array.isArray(t)&&t.forEach(e=>{let[t,n]=e;Ja.set(t,{...n,staleAt:new Date(n.staleAt)})}),or()}}}catch(e){}if(!Ka.disableIdleStreams){const e=Ya.startIdleListener();e&&(Ya.stopIdleListener=e)}}}();const s=Ja.get(o);return s&&!a&&(t||s.staleAt>i)?(s.sse&&er.add(r),s.staleAt<i?cr(e):lr(e),s.data):await function(e,t){return new Promise(n=>{let a,r=!1;const o=e=>{r||(r=!0,a&&clearTimeout(a),n(e||null))};t&&(a=setTimeout(()=>o(),t)),e.then(e=>o(e)).catch(()=>o())})}(cr(e),n)}(e,a,t,n);r&&i&&await sr(e,i)}(this,e.timeout,e.skipCache||this._ctx.enableDevMode,t,n,!1!==this._ctx.backgroundSync)}_render(){this._renderer&&this._renderer()}setFeatures(e){this._ctx.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){const a=await Da(e,t||this._ctx.decryptionKey,n);this.setFeatures(JSON.parse(a))}setExperiments(e){this._ctx.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){const a=await Da(e,t||this._ctx.decryptionKey,n);this.setExperiments(JSON.parse(a))}async decryptPayload(e,t,n){return e.encryptedFeatures&&(e.features=JSON.parse(await Da(e.encryptedFeatures,t||this._ctx.decryptionKey,n)),delete e.encryptedFeatures),e.encryptedExperiments&&(e.experiments=JSON.parse(await Da(e.encryptedExperiments,t||this._ctx.decryptionKey,n)),delete e.encryptedExperiments),e}async setAttributes(e){this._ctx.attributes=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setAttributeOverrides(e){this._attributeOverrides=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setForcedVariations(e){this._ctx.forcedVariations=e||{},this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}setForcedFeatures(e){this._forcedFeatureValues=e,this._render()}async setURL(e){if(this._ctx.url=e,this._ctx.remoteEval)return await this._refreshForRemoteEval(),void this._updateAllAutoExperiments(!0);this._updateAllAutoExperiments(!0)}getAttributes(){return{...this._ctx.attributes,...this._attributeOverrides}}getForcedVariations(){return this._ctx.forcedVariations||{}}getForcedFeatures(){return this._forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._ctx.stickyBucketAssignmentDocs||{}}getUrl(){return this._ctx.url||""}getFeatures(){return this._ctx.features||{}}getExperiments(){return this._ctx.experiments||[]}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}_canSubscribe(){return!1!==this._ctx.backgroundSync&&this._ctx.subscribeToChanges}async _refreshForRemoteEval(){this._ctx.remoteEval&&this._loadFeaturesCalled&&await this._refresh({},!1,!0).catch(()=>{})}getAllResults(){return new Map(this._assigned)}destroy(){var e;this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._trackedFeatures={},this._rtQueue=[],this._rtTimer&&clearTimeout(this._rtTimer),e=this,Qa.forEach(t=>t.delete(e)),hr&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(e=>{e.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){this._ctx.forcedVariations=this._ctx.forcedVariations||{},this._ctx.forcedVariations[e]=t,this._ctx.remoteEval?this._refreshForRemoteEval():(this._updateAllAutoExperiments(),this._render())}run(e){const t=this._run(e,null);return this._fireSubscriptions(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._ctx.experiments?this._ctx.experiments.filter(t=>t.key===e).map(e=>e.manual?this._runAutoExperiment(e):null).filter(e=>null!==e):null}_runAutoExperiment(e,t){const n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;const a=this.run(e),r=JSON.stringify(a.value);if(!t&&a.inExperiment&&n&&n.valueHash===r)return a;if(n&&this._undoActiveAutoExperiment(e),a.inExperiment){const t=this._applyDOMChanges(a.value);t&&this._activeAutoExperiments.set(e,{undo:t,valueHash:r})}return a}_undoActiveAutoExperiment(e){const t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){const t=this._ctx.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((e,t)=>{n.has(t)||(e.undo(),this._activeAutoExperiments.delete(t))}),t.forEach(t=>{this._runAutoExperiment(t,e)})}_fireSubscriptions(e,t){const n=e.key,a=this._assigned.get(n);a&&a.result.inExperiment===t.inExperiment&&a.result.variationId===t.variationId||(this._assigned.set(n,{experiment:e,result:t}),this._subscriptions.forEach(n=>{try{n(e,t)}catch(e){console.error(e)}}))}_trackFeatureUsage(e,t){if("override"===t.source)return;const n=JSON.stringify(t.value);if(this._trackedFeatures[e]!==n){if(this._trackedFeatures[e]=n,this._ctx.onFeatureUsage)try{this._ctx.onFeatureUsage(e,t)}catch(e){}hr&&window.fetch&&(this._rtQueue.push({key:e,on:t.on}),this._rtTimer||(this._rtTimer=window.setTimeout(()=>{this._rtTimer=0;const e=[...this._rtQueue];this._rtQueue=[],this._ctx.realtimeKey&&window.fetch("https://rt.growthbook.io/?key=".concat(this._ctx.realtimeKey,"&events=").concat(encodeURIComponent(JSON.stringify(e))),{cache:"no-cache",mode:"no-cors"}).catch(()=>{})},this._ctx.realtimeInterval||2e3)))}}_getFeatureResult(e,t,n,a,r,o){const i={value:t,on:!!t,off:!t,source:n,ruleId:a||""};return r&&(i.experiment=r),o&&(i.experimentResult=o),this._trackFeatureUsage(e,i),i}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){const n=this.evalFeature(e).value;return null===n?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){if(this._forcedFeatureValues.has(e))return this._getFeatureResult(e,this._forcedFeatureValues.get(e),"override");if(!this._ctx.features||!this._ctx.features[e])return this._getFeatureResult(e,null,"unknownFeature");const t=this._ctx.features[e];if(t.rules)for(const n of t.rules){if(n.filters&&this._isFilteredOut(n.filters))continue;if("force"in n){if(n.condition&&!this._conditionPasses(n.condition))continue;if(!this._isIncludedInRollout(n.seed||e,n.hashAttribute,this._ctx.stickyBucketService&&!n.disableStickyBucketing?n.fallbackAttribute:void 0,n.range,n.coverage,n.hashVersion))continue;return n.tracks&&n.tracks.forEach(e=>{this._track(e.experiment,e.result)}),this._getFeatureResult(e,n.force,"force",n.id)}if(!n.variations)continue;const t={variations:n.variations,key:n.key||e};"coverage"in n&&(t.coverage=n.coverage),n.weights&&(t.weights=n.weights),n.hashAttribute&&(t.hashAttribute=n.hashAttribute),n.fallbackAttribute&&(t.fallbackAttribute=n.fallbackAttribute),n.disableStickyBucketing&&(t.disableStickyBucketing=n.disableStickyBucketing),void 0!==n.bucketVersion&&(t.bucketVersion=n.bucketVersion),void 0!==n.minBucketVersion&&(t.minBucketVersion=n.minBucketVersion),n.namespace&&(t.namespace=n.namespace),n.meta&&(t.meta=n.meta),n.ranges&&(t.ranges=n.ranges),n.name&&(t.name=n.name),n.phase&&(t.phase=n.phase),n.seed&&(t.seed=n.seed),n.hashVersion&&(t.hashVersion=n.hashVersion),n.filters&&(t.filters=n.filters),n.condition&&(t.condition=n.condition);const a=this._run(t,e);if(this._fireSubscriptions(t,a),a.inExperiment&&!a.passthrough)return this._getFeatureResult(e,a.value,"experiment",n.id,t,a)}return this._getFeatureResult(e,void 0===t.defaultValue?null:t.defaultValue,"defaultValue")}_isIncludedInRollout(e,t,n,a,r,o){if(!a&&void 0===r)return!0;const{hashValue:i}=this._getHashAttribute(t,n);if(!i)return!1;const s=La(e,i,o||1);return null!==s&&(a?Aa(s,a):void 0===r||s<=r)}_conditionPasses(e){return $a(this.getAttributes(),e)}_isFilteredOut(e){return e.some(e=>{const{hashValue:t}=this._getHashAttribute(e.attribute);if(!t)return!0;const n=La(e.seed,t,e.hashVersion||2);return null===n||!e.ranges.some(e=>Aa(n,e))})}_run(e,t){const n=e.key,a=e.variations.length;if(a<2)return this._getResult(e,-1,!1,t);if(!1===this._ctx.enabled)return this._getResult(e,-1,!1,t);e=this._mergeOverrides(e);const r=function(e,t,n){if(!t)return null;const a=t.split("?")[1];if(!a)return null;const r=a.replace(/#.*/,"").split("&").map(e=>e.split("=",2)).filter(t=>{let[n]=t;return n===e}).map(e=>{let[,t]=e;return parseInt(t)});return r.length>0&&r[0]>=0&&r[0]<n?r[0]:null}(n,this._getContextUrl(),a);if(null!==r)return this._getResult(e,r,!1,t);if(this._ctx.forcedVariations&&n in this._ctx.forcedVariations){const a=this._ctx.forcedVariations[n];return this._getResult(e,a,!1,t)}if("draft"===e.status||!1===e.active)return this._getResult(e,-1,!1,t);const{hashAttribute:o,hashValue:i}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0);if(!i)return this._getResult(e,-1,!1,t);let s=-1,c=!1,l=!1;if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{variation:t,versionIsBlocked:n}=this._getStickyBucketVariation(e.key,e.bucketVersion,e.minBucketVersion,e.meta);c=t>=0,s=t,l=!!n}if(!c){if(e.filters){if(this._isFilteredOut(e.filters))return this._getResult(e,-1,!1,t)}else if(e.namespace&&!function(e,t){const n=La("__"+t[0],e,1);return null!==n&&n>=t[1]&&n<t[2]}(i,e.namespace))return this._getResult(e,-1,!1,t);if(e.include&&!function(e){try{return e()}catch(e){return console.error(e),!1}}(e.include))return this._getResult(e,-1,!1,t);if(e.condition&&!this._conditionPasses(e.condition))return this._getResult(e,-1,!1,t);if(e.groups&&!this._hasGroupOverlap(e.groups))return this._getResult(e,-1,!1,t)}if(e.url&&!this._urlIsValid(e.url))return this._getResult(e,-1,!1,t);if(e.urlPatterns&&!function(e,t){if(!t.length)return!1;let n=!1,a=!1;for(let r=0;r<t.length;r++){const o=Ia(e,t[r].type,t[r].pattern);if(!1===t[r].include){if(o)return!1}else n=!0,o&&(a=!0)}return a||!n}(this._getContextUrl(),e.urlPatterns))return this._getResult(e,-1,!1,t);const u=La(e.seed||n,i,e.hashVersion||1);if(null===u)return this._getResult(e,-1,!1,t);if(c||(s=function(e,t){for(let n=0;n<t.length;n++)if(Aa(e,t[n]))return n;return-1}(u,e.ranges||function(e,t,n){(t=void 0===t?1:t)<0?t=0:t>1&&(t=1);const a=(r=e)<=0?[]:new Array(r).fill(1/r);var r;(n=n||a).length!==e&&(n=a);const o=n.reduce((e,t)=>t+e,0);(o<.99||o>1.01)&&(n=a);let i=0;return n.map(e=>{const n=i;return i+=e,[n,n+t*e]})}(a,void 0===e.coverage?1:e.coverage,e.weights))),l)return this._getResult(e,-1,!1,t,void 0,!0);if(s<0)return this._getResult(e,-1,!1,t);if("force"in e)return this._getResult(e,void 0===e.force?-1:e.force,!1,t);if(this._ctx.qaMode)return this._getResult(e,-1,!1,t);if("stopped"===e.status)return this._getResult(e,-1,!1,t);const d=this._getResult(e,s,!0,t,u,c);if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{changed:t,key:n,doc:a}=this._generateStickyBucketAssignmentDoc(o,Ta(i),{[this._getStickyBucketExperimentKey(e.key,e.bucketVersion)]:d.key});t&&(this._ctx.stickyBucketAssignmentDocs=this._ctx.stickyBucketAssignmentDocs||{},this._ctx.stickyBucketAssignmentDocs[n]=a,this._ctx.stickyBucketService.saveAssignments(a))}return this._track(e,d),d}log(e,t){this.debug&&(this._ctx.log?this._ctx.log(e,t):console.log(e,t))}_track(e,t){if(!this._ctx.trackingCallback)return;const n=e.key,a=t.hashAttribute+t.hashValue+n+t.variationId;if(!this._trackedExperiments.has(a)){this._trackedExperiments.add(a);try{this._ctx.trackingCallback(e,t)}catch(e){console.error(e)}}}_mergeOverrides(e){const t=e.key,n=this._ctx.overrides;return n&&n[t]&&"string"==typeof(e=Object.assign({},e,n[t])).url&&(e.url=Pa(e.url)),e}_getHashAttribute(e,t){let n=e||"id",a="";return this._attributeOverrides[n]?a=this._attributeOverrides[n]:this._ctx.attributes?a=this._ctx.attributes[n]||"":this._ctx.user&&(a=this._ctx.user[n]||""),!a&&t&&(this._attributeOverrides[t]?a=this._attributeOverrides[t]:this._ctx.attributes?a=this._ctx.attributes[t]||"":this._ctx.user&&(a=this._ctx.user[t]||""),a&&(n=t)),{hashAttribute:n,hashValue:a}}_getResult(e,t,n,a,r,o){let i=!0;(t<0||t>=e.variations.length)&&(t=0,i=!1);const{hashAttribute:s,hashValue:c}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),l=e.meta?e.meta[t]:{},u={key:l.key||""+t,featureId:a,inExperiment:i,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:s,hashValue:c,stickyBucketUsed:!!o};return l.name&&(u.name=l.name),void 0!==r&&(u.bucket=r),l.passthrough&&(u.passthrough=l.passthrough),u}_getContextUrl(){return this._ctx.url||(hr?window.location.href:"")}_urlIsValid(e){const t=this._getContextUrl();if(!t)return!1;const n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!e.test(t)||!!e.test(n)}_hasGroupOverlap(e){const t=this._ctx.groups||{};for(let n=0;n<e.length;n++)if(t[e[n]])return!0;return!1}_applyDOMChanges(e){if(!hr)return;const t=[];if(e.css){const n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){const n=document.createElement("script");n.innerHTML=e.js,document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(e=>{t.push(Ea.declarative(e).revert)}),()=>{t.forEach(e=>e())}}_deriveStickyBucketIdentifierAttributes(e){const t=new Set,n=e&&e.features?e.features:this.getFeatures(),a=e&&e.experiments?e.experiments:this.getExperiments();return Object.keys(n).forEach(e=>{const a=n[e];if(a.rules)for(const e of a.rules)e.variations&&(t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute))}),a.map(e=>{t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute)}),Array.from(t)}async refreshStickyBuckets(e){if(this._ctx.stickyBucketService){const t=this._getStickyBucketAttributes(e);this._ctx.stickyBucketAssignmentDocs=await this._ctx.stickyBucketService.getAllAssignments(t)}}_getStickyBucketAssignments(){const e={};return Object.values(this._ctx.stickyBucketAssignmentDocs||{}).forEach(t=>{t.assignments&&Object.assign(e,t.assignments)}),e}_getStickyBucketVariation(e,t,n,a){t=t||0,n=n||0,a=a||[];const r=this._getStickyBucketExperimentKey(e,t),o=this._getStickyBucketAssignments();if(n>0)for(let t=0;t<=n;t++)if(void 0!==o[this._getStickyBucketExperimentKey(e,t)])return{variation:-1,versionIsBlocked:!0};const i=o[r];if(void 0===i)return{variation:-1};const s=a.findIndex(e=>e.key===i);return s<0?{variation:-1}:{variation:s}}_getStickyBucketExperimentKey(e,t){return t=t||0,"".concat(e,"__").concat(t)}_getStickyBucketAttributes(e){const t={};return this._ctx.stickyBucketIdentifierAttributes=this._ctx.stickyBucketIdentifierAttributes?this._ctx.stickyBucketIdentifierAttributes:this._deriveStickyBucketIdentifierAttributes(e),this._ctx.stickyBucketIdentifierAttributes.forEach(e=>{const{hashValue:n}=this._getHashAttribute(e);t[e]=Ta(n)}),t}_generateStickyBucketAssignmentDoc(e,t,n){const a="".concat(e,"||").concat(t),r=this._ctx.stickyBucketAssignmentDocs&&this._ctx.stickyBucketAssignmentDocs[a]&&this._ctx.stickyBucketAssignmentDocs[a].assignments||{},o={...r,...n};return{key:a,doc:{attributeName:e,attributeValue:t,assignments:o},changed:JSON.stringify(r)!==JSON.stringify(o)}}}const gr="directoUserId";let br="";async function yr(){if(br)return br;const{[gr]:e}=await chrome.storage.local.get(gr);return br=e||"",br}async function kr(e,t){return{user_id:await yr(),experiment_id:e,variation_id:t,url_visited:window.location.href}}const vr=["experiment","defaultValue"];let wr=null;function jr(){if(wr)return wr;const e=new fr({apiHost:"https://cdn.growthbook.io",clientKey:"sdk-9jiRKLpeCAeQD7C",enableDevMode:!1,subscribeToChanges:!0,trackingCallback:async(e,t)=>{await rn(await kr(e.key,t.key))}});return wr=Object.assign(e,{async getFeature(t){if((await Et.getConfig()).partnerKey)return{key:t,value:!1,ruleId:"partner-default-off",on:!1,off:!0,source:"force"};const n=await Et.getGrowthbookFeature(t);if(n)return"experiment"===n?.source&&await rn(await kr(n.key,n?.experimentResult?.key??"0")),n;await e.loadFeatures();const a=e.evalFeature(t);return a&&vr.includes(a.source)&&await Et.setGrowthbookFeature({key:t,...a}),a}}),wr}async function _r(e){return"function"==typeof e?await e():e}class xr{platform;provider;constructor(e,t){this.platform=e,this.provider=t}async getQueryParam(e,t=window.location.href){const n=new URL(t);return _r((await this.getQueryParamMap(n))[e])}}class Cr{year;month;day;constructor(e,t,n){this.year=e,this.month=t,this.day=n}static unsafe_new(e,t,n){if(isNaN(e)||isNaN(t)||isNaN(n))throw new Error(`Invalid date: ${e}-${t}-${n}`);const a=new Cr(e,t,n),r=a.unsafe_toDate();if(isNaN(r.getTime())||r.getFullYear()!==e||r.getMonth()+1!==t||r.getDate()!==n)throw new Error(`Invalid date: ${e}-${t}-${n}`);return a}static new(e,t,n){try{return Cr.unsafe_new(e,t,n)}catch{return null}}static today(){return Cr.unsafe_fromDate(new Date)}static unsafe_fromRaw(e){return Cr.unsafe_new(e.year,e.month,e.day)}static fromRaw(e){return Cr.new(e.year,e.month,e.day)}static unsafe_fromDate(e){if(isNaN(e.getTime()))throw new Error("Invalid Date object");return Cr.unsafe_new(e.getFullYear(),e.getMonth()+1,e.getDate())}static fromDate(e){try{return Cr.unsafe_fromDate(e)}catch{return null}}static tryFromSlashDDMMYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!t)return null;const{dd:n,mm:a,yy:r}=t.groups;return Cr.new(2e3+parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDMY(e){const t=e.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!t)return null;const{d:n,m:a,y:r}=t.groups;return Cr.new(2e3+parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromDashYYYYMMDD(e){const t=e.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return Cr.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}static tryFromDashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!t)return null;const{dd:n,mm:a,yyyy:r}=t.groups;return Cr.new(parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return Cr.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}static tryFromSlashMMDDYYYY(e){const t=e.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return Cr.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}toDashYYYYMMDD(){return`${dn(this.year,4)}-${dn(this.month)}-${dn(this.day)}`}unsafe_toDate(){return function(e,t,n){const a=new Date;return a.setFullYear(e,t,n),a.setHours(0,0,0,0),a}(this.year,this.month-1,this.day)}}function zr(e,t){const n=new Date(e);return n.setDate(e.getDate()+t),n}function Sr(e){if(!e)return null;const t=new Date(e);if(!isNaN(t.getTime()))return`${t.getFullYear()}-${dn(t.getUTCMonth()+1)}-${dn(t.getUTCDate())}`;const n=e?.split("/");return 3===n?.length?`${2===n[2].length?`20${n[2]}`:n[2]}-${dn(n[1])}-${dn(n[0])}`:e}function Er(e){if(!e)return null;if(e.includes("-")){if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(e)){const[t,n,a]=e.split("-");return`${t}-${dn(n)}-${dn(a)}`}if(/^\d{1,2}-\d{1,2}-\d{2,4}$/.test(e)){const[t,n,a]=e.split("-");return`${2===a.length?"20":""}${a}-${dn(n)}-${dn(t)}`}return null}if(/^\d{8}$/.test(e))return`${e.substring(0,4)}-${e.substring(4,6)}-${e.substring(6,8)}`;if(e.includes("/")){const[t,n,a]=e.split("/");return t&&n&&a?`${2===a.length?"20":""}${a}-${dn(n)}-${dn(t)}`:null}return null}function Or(e){return e.toISOString().split("T")[0]}function Lr(e){return e.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function Ar(e){return`(${e})`}class Pr extends xr{async maybeOpenTab(){const e=await this.getDestination();if(!e)return;const t=await this.getQueryParam("checkin");if(!t)return;const[n,a,r,o]=await Promise.all([this.getQueryParam("checkout"),this.getQueryParam("adults"),this.getQueryParam("children"),this.getQueryParam("currency")]),i=n??function(e){const t=new Date(e.year,e.month-1,e.day+1);return Cr.unsafe_fromDate(t)}(t),{partnerKey:s}=await Et.getConfig();let c=this.provider;const l=await jr().getFeature("booking-com-crosssell-hotel-provider");"BOOKING"===c&&l.off&&(c="KAYAK"),await Et.openHotelsCrossSellTab({provider:c,sourceUrl:window.location.href,trackingLabel:this.platform,partnerKey:s??null,destination:e,checkin:t,checkout:i,adults:a,children:r,currency:o})}}class Ir extends Pr{async handleSearchClick(){await Et.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checked})}async maybeOpenTab(){await Et.getCrossSellWasChecked({crossSellId:this.platform})&&await super.maybeOpenTab()}}class Nr extends Pr{async handleSearchClick(){this.checked&&await super.maybeOpenTab()}}const Dr="EUR",Tr=1e3;function Rr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mr,$r;const Br=Rr(function(){if($r)return Mr;$r=1;const e=2147483647,t=36,n=/^xn--/,a=/[^\0-\x7F]/,r=/[\x2E\u3002\uFF0E\uFF61]/g,o={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},i=Math.floor,s=String.fromCharCode;function c(e){throw new RangeError(o[e])}function l(e,t){const n=e.split("@");let a="";n.length>1&&(a=n[0]+"@",e=n[1]);const o=function(e,t){const n=[];let a=e.length;for(;a--;)n[a]=t(e[a]);return n}((e=e.replace(r,".")).split("."),t).join(".");return a+o}function u(e){const t=[];let n=0;const a=e.length;for(;n<a;){const r=e.charCodeAt(n++);if(r>=55296&&r<=56319&&n<a){const a=e.charCodeAt(n++);56320==(64512&a)?t.push(((1023&r)<<10)+(1023&a)+65536):(t.push(r),n--)}else t.push(r)}return t}const d=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:t},p=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},h=function(e,n,a){let r=0;for(e=a?i(e/700):e>>1,e+=i(e/n);e>455;r+=t)e=i(e/35);return i(r+36*e/(e+38))},m=function(n){const a=[],r=n.length;let o=0,s=128,l=72,u=n.lastIndexOf("-");u<0&&(u=0);for(let e=0;e<u;++e)n.charCodeAt(e)>=128&&c("not-basic"),a.push(n.charCodeAt(e));for(let p=u>0?u+1:0;p<r;){const u=o;for(let a=1,s=t;;s+=t){p>=r&&c("invalid-input");const u=d(n.charCodeAt(p++));u>=t&&c("invalid-input"),u>i((e-o)/a)&&c("overflow"),o+=u*a;const h=s<=l?1:s>=l+26?26:s-l;if(u<h)break;const m=t-h;a>i(e/m)&&c("overflow"),a*=m}const m=a.length+1;l=h(o-u,m,0==u),i(o/m)>e-s&&c("overflow"),s+=i(o/m),o%=m,a.splice(o++,0,s)}return String.fromCodePoint(...a)},f=function(n){const a=[],r=(n=u(n)).length;let o=128,l=0,d=72;for(const e of n)e<128&&a.push(s(e));const m=a.length;let f=m;for(m&&a.push("-");f<r;){let r=e;for(const e of n)e>=o&&e<r&&(r=e);const u=f+1;r-o>i((e-l)/u)&&c("overflow"),l+=(r-o)*u,o=r;for(const r of n)if(r<o&&++l>e&&c("overflow"),r===o){let e=l;for(let n=t;;n+=t){const r=n<=d?1:n>=d+26?26:n-d;if(e<r)break;const o=e-r,c=t-r;a.push(s(p(r+o%c,0))),e=i(o/c)}a.push(s(p(e,0))),d=h(l,u,f===m),l=0,++f}++l,++o}return a.join("")};return Mr={version:"2.3.1",ucs2:{decode:u,encode:e=>String.fromCodePoint(...e)},decode:m,encode:f,toASCII:function(e){return l(e,function(e){return a.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return l(e,function(e){return n.test(e)?m(e.slice(4).toLowerCase()):e})}}}());function Ur(e){let t=e.trim();return/^(?:f|ht)tps?\:\/\//.test(t)||(t="http://"+t),new URL(t)}function Vr(e){return e.hostname.replace(/^www\./,"")}function Fr(e){try{return Vr("string"==typeof e?Ur(e):e)}catch(t){return console.error("Invalid URL:",e,t),e.toString()}}function qr(e){const t=[...e];return t.sort(([e],[t])=>e.localeCompare(t)),t}["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((e,t)=>{const n=t.replace(/^(\*\.|\!)/,""),a=Br.toASCII(n),r=t.charAt(0);if(e.has(a))throw new Error(`Multiple rules found for ${t} (${a})`);return e.set(a,{rule:t,suffix:n,punySuffix:a,wildcard:"*"===r,exception:"!"===r}),e},new Map);const Hr={en:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Find me accommodation"},"activities":{"explore_activities_with":"Explore activities with ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Compare price","book_with_discount":"Save up to {discount}%","book_with_discount_barcelo":"Get Promo","save":"Save {price}","popover":{"header":{"text":"Official website"},"support_hotel":"Support the property directly","feedback":{"text_checked":"{positiveFeedback}/10 users found a good direct deal","text_unchecked":"Help other travelers find better deals"},"discount":{"text_checked":"Discount detected","text_unchecked":"Price discount detected"},"coupon":{"text_checked":"Coupon found"}}},"offers":{"best_offer":"Best offer with","save":"Save {price}","no_discount":"Alternative offer with {provider}","empty":"You\'re viewing the best offer!","popover":{"header":{"text":"Book with"}}},"label":{"own_ota_tooltip":"Check Directo Deal","tooltip":"Official website found","coupon_tooltip":"Coupon found","discount_tooltip":"Better price found","score_tooltip":"Popular deal found","high_score_tooltip":"Very popular deal found"},"direct_price_tracker":{"saving_label":"Save <strong>{amount}</strong> vs {platform}","span_title":"Price checked just now"}}'),es:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Buscar alojamiento"},"activities":{"explore_activities_with":"Explora actividades con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar precio","book_with_discount":"Ahorra hasta {discount}%","book_with_discount_barcelo":"Ver promo","save":"Ahorra {price}","popover":{"header":{"text":"Sitio oficial"},"support_hotel":"Apoya al alojamiento directamente","feedback":{"text_checked":"{positiveFeedback}/10 usuarios encontraron una buena oferta directa","text_unchecked":"Ayuda a otros viajeros a encontrar mejores ofertas"},"discount":{"text_checked":"Descuento detectado","text_unchecked":"Descuento en precio detectado"},"coupon":{"text_checked":"Cupón encontrado"}}},"offers":{"best_offer":"La mejor oferta con","save":"Ahorra {price}","no_discount":"Oferta alternativa con {provider}","empty":"¡Estás viendo la mejor oferta!","popover":{"header":{"text":"Reserva con"}}},"label":{"own_ota_tooltip":"Ver oferta en Directo","tooltip":"Sitio oficial encontrado","coupon_tooltip":"Cupón encontrado","discount_tooltip":"Mejor precio encontrado","score_tooltip":"Oferta popular encontrada","high_score_tooltip":"Oferta muy popular encontrada"},"direct_price_tracker":{"saving_label":"Ahorras <strong>{amount}</strong> vs {platform}","span_title":"Precio verificado ahora"}}'),fr:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trouver un hébergement"},"activities":{"explore_activities_with":"Découvrez des activités avec ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparer les prix","book_with_discount":"Économisez jusqu\'à {discount}%","book_with_discount_barcelo":"Voir la promo","save":"Économisez {price}","popover":{"header":{"text":"Site officiel"},"support_hotel":"Soutenez le bien directement","feedback":{"text_checked":"{positiveFeedback}/10 utilisateurs ont trouvé une bonne offre directe","text_unchecked":"Aidez d\'autres voyageurs à trouver de meilleures offres"},"discount":{"text_checked":"Réduction détectée","text_unchecked":"Réduction de prix détectée"},"coupon":{"text_checked":"Coupon trouvé"}}},"offers":{"best_offer":"La meilleure offre avec","save":"Économisez {price}","no_discount":"Offre alternative avec {provider}","empty":"Vous consultez la meilleure offre!","popover":{"header":{"text":"Réservez avec"}}},"label":{"own_ota_tooltip":"Voir l\'offre sur Directo","tooltip":"Site web officiel trouvé","coupon_tooltip":"Coupon trouvé","discount_tooltip":"Meilleur prix trouvé","score_tooltip":"Offre populaire trouvée","high_score_tooltip":"Offre très populaire trouvée"},"direct_price_tracker":{"saving_label":"Vous économisez <strong>{amount}</strong> vs {platform}","span_title":"Prix vérifié à l\'instant"}}'),it:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trova un alloggio"},"activities":{"explore_activities_with":"Esplora le attività con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Confronta il prezzo","book_with_discount":"Risparmia fino al {discount}%","book_with_discount_barcelo":"Vedi la promo","save":"Risparmia {price}","popover":{"header":{"text":"Sito ufficiale"},"support_hotel":"Supporta l\'alojamento direttamente","feedback":{"text_checked":"{positiveFeedback}/10 utenti hanno trovato una buona offerta diretta","text_unchecked":"Aiuta altri viaggiatori a trovare offerte migliori"},"discount":{"text_checked":"Sconto rilevato","text_unchecked":"Sconto sul prezzo rilevato"},"coupon":{"text_checked":"Coupon trovato"}}},"offers":{"best_offer":"La migliore offerta con","save":"Risparmia {price}","no_discount":"Offerta alternativa con {provider}","empty":"Stai visualizzando la migliore offerta!","popover":{"header":{"text":"Prenota con"}}},"label":{"own_ota_tooltip":"Vedi l\'offerta su Directo","tooltip":"Sito web ufficiale trovato","coupon_tooltip":"Coupon trovato","discount_tooltip":"Prezzo migliore trovato","score_tooltip":"Offerta popolare trovata","high_score_tooltip":"Offerta molto popolare trovata"},"direct_price_tracker":{"saving_label":"Risparmi <strong>{amount}</strong> vs {platform}","span_title":"Prezzo verificato ora"}}'),pt:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Encontre um alojamento"},"activities":{"explore_activities_with":"Explore atividades com a ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar preço","book_with_discount":"Economize até {discount}%","book_with_discount_barcelo":"Ver promoção","save":"Economize {price}","popover":{"header":{"text":"Site oficial"},"support_hotel":"Apoie o alojamento diretamente","feedback":{"text_checked":"{positiveFeedback}/10 usuários encontraram uma boa oferta direta","text_unchecked":"Ajude outros viajantes a encontrar melhores ofertas"},"discount":{"text_checked":"Desconto detectado","text_unchecked":"Desconto no preço detectado"},"coupon":{"text_checked":"Cupom encontrado"}}},"offers":{"best_offer":"A melhor oferta com","save":"Economize {price}","no_discount":"Oferta alternativa com {provider}","empty":"Você está vendo a melhor oferta!","popover":{"header":{"text":"Reserve com"}}},"label":{"own_ota_tooltip":"Ver oferta na Directo","tooltip":"Site oficial encontrado","coupon_tooltip":"Cupom encontrado","discount_tooltip":"Melhor preço encontrado","score_tooltip":"Oferta popular","high_score_tooltip":"Oferta muito popular"},"direct_price_tracker":{"saving_label":"Você economiza <strong>{amount}</strong> vs {platform}","span_title":"Preço verificado agora"}}'),de:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Finde mir eine Unterkunft"},"activities":{"explore_activities_with":"Entdecke Aktivitäten mit ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Preis vergleichen","book_with_discount":"Sparen Sie bis zu {discount}%","book_with_discount_barcelo":"Promo erhalten","save":"Sparen Sie {price}","popover":{"header":{"text":"Offizielle Website"},"support_hotel":"Unterstützen Sie die Unterkunft direkt","feedback":{"text_checked":"{positiveFeedback}/10 Nutzer haben ein gutes Direktangebot gefunden","text_unchecked":"Helfen Sie anderen Reisenden, bessere Angebote zu finden"},"discount":{"text_checked":"Rabatt erkannt","text_unchecked":"Preisnachlass erkannt"},"coupon":{"text_checked":"Gutschein gefunden"}}},"offers":{"best_offer":"Bestes Angebot bei","save":"Sparen Sie {price}","no_discount":"Alternatives Angebot von {provider}","empty":"Sie sehen gerade das beste Angebot!","popover":{"header":{"text":"Buchen Sie bei"}}},"label":{"own_ota_tooltip":"Directo-Angebot ansehen","tooltip":"Offizielle Website gefunden","coupon_tooltip":"Gutschein gefunden","discount_tooltip":"Besserer Preis gefunden","score_tooltip":"Beliebtes Angebot gefunden","high_score_tooltip":"Sehr beliebtes Angebot gefunden"},"direct_price_tracker":{"saving_label":"Sparen Sie <strong>{amount}</strong> gegenüber {platform}","span_title":"Preis soeben geprüft"}}')},Kr=new class{translations;constructor(e){this.translations=e}getLocalisedString(e,t){const n=t&&Object.keys(this.translations).includes(t)?t:$n(),a=`{${e}}`,r=On(this.translations,`${n}.${e}`)??On(this.translations,`en.${e}`)??a;return"string"!=typeof r?(console.warn(`i18n: The path "${e}" for locale "${n}" does not resolve to a string.`),a):r}translate(e,t,n){const a=this.getLocalisedString(e,n);if(!t)return a;let r=a;return Dn(t,(e,t)=>{null!=e&&(r=r.replace(`{${t}}`,e.toString()))}),r}}(Hr),Gr=Kr.translate.bind(Kr);async function Yr(e,t,n){let a={current:()=>{}};return await Vn(e,e=>{const{abortController:r,triggerOriginalClick:o}=function(e,t,n){const a=new AbortController,r=()=>{const t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});window.__directoSynthetic__=!0,e.dispatchEvent(t)};return e.addEventListener("click",async e=>{if(!(e instanceof MouseEvent&&null!==e.view&&"__directoSynthetic__"in e.view&&"boolean"==typeof e.view.__directoSynthetic__&&e.view.__directoSynthetic__)){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();try{await t()}catch(e){console.error(e)}n.preventOriginalClick||setTimeout(r,100)}},{capture:!0,signal:a.signal}),e.addEventListener("click",()=>{delete window.__directoSynthetic__},{capture:!1,signal:a.signal}),{abortController:a,triggerOriginalClick:r}}(e,t,{preventOriginalClick:n.preventOriginalClick});return a.current=o,()=>{r.abort()}},{retryMs:n.domCheckIntervalMs,checkIntervalMs:n.domCheckIntervalMs}),{triggerOriginalClick:()=>{a.current()}}}var Qr=n(746),Wr=n(420);class Jr{TCheckbox;latestCheckbox=null;constructor(e){this.TCheckbox=e}async inject(e,t){await Vn(e,e=>{let n;switch(this.latestCheckbox?(n=this.latestCheckbox.checked,this.latestCheckbox.$host.remove(),this.latestCheckbox=null):n=!0,this.latestCheckbox=new this.TCheckbox(n),t?.inject){case"append":case void 0:e.append(this.latestCheckbox.$host);break;case"prepend":e.prepend(this.latestCheckbox.$host);break;case"before":e.before(this.latestCheckbox.$host);break;case"after":e.after(this.latestCheckbox.$host);break;default:t?.inject(e,this.latestCheckbox.$host)}return t?.afterInject?.(e,this.latestCheckbox)},{retryMs:Tr,checkIntervalMs:Tr,signal:t?.signal,getContainer:t?.getContainer})}get checked(){return null!==this.latestCheckbox&&this.latestCheckbox.isVisible&&this.latestCheckbox.checked}set checked(e){this.latestCheckbox&&(this.latestCheckbox.checked=e)}}function Zr(e){return class{reactShadowDom;visibilityRef;#e;constructor(e){this.reactShadowDom=function(){const e=document.createElement("div");e.style.display="contents";const t=Wr.H(e),n=document.createElement("div");return n.style.display="contents",n.attachShadow({mode:"closed"}).appendChild(e),{$root:n,render(e){t.render(e)}}}(),this.visibilityRef={current:null},this.#e=e,this.handleClick=this.handleClick.bind(this),this.render()}render(){this.reactShadowDom.render((0,Qr.jsx)(e,{visibilityRef:this.visibilityRef,checked:this.#e,onClick:this.handleClick}))}handleClick(){this.checked=!this.checked}get $host(){return this.reactShadowDom.$root}get checked(){return this.#e}set checked(e){this.#e=e,this.render()}get isVisible(){return!!this.visibilityRef.current&&Hn(this.visibilityRef.current)}}}const Xr=new Set(["renfe.com"]);class eo extends Nr{checkboxManager=new Jr(to);constructor(){super("RENFE_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return Xr.has(e)}async handleCrossSell(){this.injectUI()}injectUI(){this.injectCheckbox(),Yr(['button[type="submit"]',".rf-button--primary"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async injectCheckbox(){await Rt(100),this.checkboxManager.inject(["#promotionsv2"],{afterInject(e,t){e.style.display="flex"}})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Bn(["#destination"]);if(!e)return null;const t=Kn(e);if(!t)return null;return`${Lr(t).replace(/\(TODAS\)/,"")} Spain`}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bn(["#first-input"]);if(e){const t=Kn(e);if(t){const[e,n]=t.split(",");if(n)return Cr.tryFromSlashDDMMYY(n.trim())}}return null},checkout(){const e=Bn(["#second-input"]);if(e){const t=Kn(e);if(t){const[e,n]=t.split(",");if(n)return Cr.tryFromSlashDDMMYY(n.trim())}}return null},adults(){const e=Bn(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return t?parseInt(t[1]):2}return 2},children(){const e=Bn(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return n?parseInt(n[1]):0}return 0},currency:Dr}}}class to{$checkboxContainer;$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Fn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},t)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n display: flex;\n align-items: center;\n font-size: 14px;\n margin-left: 8px;\n color: black;\n }\n\n .dir-checkbox {\n margin-right: 8px;\n }\n\n .dir-checkbox-container {\n align-self: center;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}}const no=new Set(["skyscanner.com","skyscanner.net","skyscanner.es","skyscanner.fr","skyscanner.it","skyscanner.pt","skyscanner.com.br","skyscanner.co.in","skyscanner.com.mx","skyscanner.de","skyscanner.com","skyscanner.com.au","skyscanner.com.my","skyscanner.co.il","skyscanner.com.ph","skyscanner.co.nz"]);class ao extends Nr{checkboxManager=new Jr(ro);constructor(){super("SKYSCANNER_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return no.has(e)}async handleCrossSell(){this.checkboxManager.inject(['[class*="_DestinationInput"] fieldset']),Yr(['[data-testid="desktop-cta"]','[data-testid="mobile-cta"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Bn(['input[name="destinationInput-search"]']);return e?Lr(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bn(['[data-testid="depart-btn"] [class*="_value_"]']);if(e){const t=Kn(e);if(t)return Cr.tryFromSlashDMY(t)}return null},checkout(){const e=Bn(['[data-testid="return-btn"] [class*="_value_"]']);if(e){const t=Kn(e);if(t)return Cr.tryFromSlashDMY(t)}return null},adults(){const e=Bn(['[data-testid="traveller-button"] [class*="_value_"]']);if(e){const t=e.textContent;if(t){const[e]=t.matchAll(/(\d+)/g);return e?parseInt(e[1]):2}}return 2},children:0,currency:Dr}}}class ro{$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Fn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-checkbox {\n background-color: #fff;\n -webkit-appearance: none;\n appearance: none;\n border: .1875rem solid #626971;border-radius: .25rem;\n cursor: pointer;\n height: 1.25rem;\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: .125rem;\n vertical-align: text-bottom;\n width: 1.25rem;\n }\n\n .dir-checkbox:checked {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='13' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.354 3.646 5.5 7.5l6-6' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n background-position: .0625rem;\n background-repeat: no-repeat;\n background-size: calc(100% - .15625rem) auto;\n background-color: #0062e3;\n background-color: var(--bpk-checkbox-checked-color, #0062e3);\n border-color: #0062e3;\n border-color: var(--bpk-checkbox-checked-color, #0062e3);\n }\n\n .dir-label {\n margin-bottom: 1rem;\n margin-top: .5rem;\n width: 100%;\n color: #fff;\n display: inline-block;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5rem;\n margin: 0;\n padding-left: 1.75rem;\n position: relative;\n }\n\n .dir-span {\n word-wrap: break-word;\n cursor: pointer;\n -webkit-hyphens: auto;\n hyphens: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n vertical-align: initial;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}}const oo=new Set(["ryanair.com"]);class io extends Ir{checkboxManager=new Jr(so);constructor(){super("RYANAIR_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return oo.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/trip/flights/select")||e.pathname.endsWith("/fare-finder")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".filters-container"]),Yr([".flight-search-widget__start-search button"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){return new URL(window.location.href).searchParams.get("destinationIata")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("dateOut");return t?Cr.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("dateIn");return t?Cr.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adults");return t?$t(t)??2:2},children(){const t=e.searchParams.get("teens"),n=e.searchParams.get("children");if(!t&&!n)return 0;const a=parseInt(t??"0",10),r=parseInt(n??"0",10);return Number.isNaN(a)&&Number.isNaN(r)?0:(Number.isNaN(a)?0:a)+(Number.isNaN(r)?0:r)},currency:()=>e.searchParams.get("currency")??Dr}}}class so{$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=/^https?:\/\/(?:www\.)?ryanair\.com\/[^/]+\/([^/]+)/i.exec(location.href),n=t?t[1].toLowerCase():Rn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},n)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}}const co=new Set(["latamairlines.com"]);class lo extends Ir{checkboxManager=new Jr(uo);constructor(){super("LATAM_AIRLINES_HOTELS","BOOKING")}async shouldActivate(){const e=Vr(new URL(window.location.href));return co.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/es/ofertas-vuelos")||e.pathname.endsWith("/en/flight-offers")||e.pathname.endsWith("/pt/oferta-voos")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="LoyaltyBoxstyles__CheckboxContainer"]']),Yr(["button#fsb-search-flights",'button[type="submit"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){return new URL(window.location.href).searchParams.get("destination")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("outbound");if(!t)return null;const[n,a]=t.split("T");return n?Cr.tryFromDashYYYYMMDD(n):null},checkout(){const t=e.searchParams.get("inbound");if(!t)return null;const[n,a]=t.split("T");return n?Cr.tryFromDashYYYYMMDD(n):null},adults(){const t=e.searchParams.get("adt");return t?$t(t)??2:2},children(){const t=e.searchParams.get("chd");return t?$t(t)??0:0},currency(){const e=Bn(['[data-testid="current-currency__name-and-symbol"]']);if(e){const t=e.textContent;if(t){const e=t.match(/^(.+?) · (.+)$/);if(e)return e[1]}}return Dr}}}}class uo{$checkboxContainer;$checkbox;$checkboxIconWrapper;$checkboxIconI;$span;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkboxIconI=document.createElement("i"),this.$checkboxIconI.className="dir-checkbox-icon-i",this.$checkboxIconI.ariaHidden="true",this.$checkboxIconI.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" focusable="false" viewBox="0 0 32 32">\n <path d="M12.57 21.6161L4.38 13.2161L2 15.7186L12.57 26.376L30 8.75351L27.5325 6.37354L12.57 21.6161Z" fill="currentColor"></path>\n </svg>\n ',this.$checkboxIconWrapper=document.createElement("span"),this.$checkboxIconWrapper.className="dir-checkbox-icon-wrapper",this.$checkboxIconWrapper.appendChild(this.$checkboxIconI);const t=Fn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$checkboxIconWrapper),this.$label.appendChild(this.$span),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n * {\n box-sizing: border-box;\n }\n\n .dir-checkbox {\n position: absolute;\n height: 0px;\n width: 0px;\n appearance: none;\n }\n\n .dir-checkbox-container {\n display: inline-block;\n padding: 0.5rem 0px;\n position: relative;\n width: initial;\n }\n\n .dir-label {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n -webkit-box-pack: justify;\n justify-content: space-between;\n pointer-events: initial;\n width: initial;\n align-items: center;\n }\n\n .dir-span {\n display: flex;\n flex-direction: column;\n margin-right: 0px;\n margin-left: 0.5rem;\n text-align: initial;\n }\n\n .dir-checkbox-icon-wrapper {\n --checkbox-size: 1.5rem;\n background: transparent;\n border-radius: 0.25rem;\n border: 2px solid rgb(70, 88, 223);\n cursor: pointer;\n display: inline-flex;\n height: var(--checkbox-size);\n width: var(--checkbox-size);\n flex-shrink: 0;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper {\n background: rgb(70, 88, 223);\n }\n\n .dir-checkbox-icon-wrapper:hover {\n box-shadow: rgb(238, 237, 249) 0px 0px 0px 0.5rem;\n }\n\n .dir-checkbox-icon-i {\n color: rgb(255, 255, 255);\n display: none;\n height: 100%;\n margin: auto;\n width: 100%;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper .dir-checkbox-icon-i {\n display: flex;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}}const po=new Set(["iberia.com"]);class ho extends Ir{checkboxManagerTab=new Jr(mo);checkboxManagerAccordion=new Jr(mo);constructor(){super("IBERIA_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return po.has(e)}async handleCrossSell(){const e=new URL(window.location.href);!e.pathname.endsWith("/flights/")||"1"!==e.searchParams.get("TRIP_TYPE")&&"2"!==e.searchParams.get("TRIP_TYPE")?this.injectUI():this.maybeOpenTab()}async injectUI(){await Rt(500),this.injectCheckbox(["#tab-flights .ibe-searcher__options .ibe-form__radio-group"],this.checkboxManagerTab),this.injectCheckbox(["#m-tab-searcher-1 .ibe-searcher__options"],this.checkboxManagerAccordion),Yr(["#buttonSubmit1"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}get checked(){return this.checkboxManagerTab.checked||this.checkboxManagerAccordion.checked}async injectCheckbox(e,t){const n=new AbortController;await t.inject(e,{afterInject:(a,r)=>{const o=()=>{switch(t){case this.checkboxManagerAccordion:this.checkboxManagerTab.checked=r.checked;break;case this.checkboxManagerTab:this.checkboxManagerAccordion.checked=r.checked;break;default:throw new Error("Unrecognized checkbox manager")}};r.addEventListener("change",o);let i=!1;const s=async()=>{i||(i=!0,c(),await this.injectCheckbox(e,t),i=!1)};window.addEventListener("resize",s);const c=()=>{n.abort(),r.removeEventListener("change",o),window.removeEventListener("resize",s)};return c},signal:n.signal})}async getDestination(){return new URL(window.location.href).searchParams.get("END_CITY_01")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("BEGIN_YEAR_01");if(!t)return null;const n=e.searchParams.get("BEGIN_MONTH_01");if(!n)return null;const a=e.searchParams.get("BEGIN_DAY_01");return a?fo(t,n,a):null},checkout(){const t=e.searchParams.get("END_YEAR_01");if(!t)return null;const n=e.searchParams.get("END_MONTH_01");if(!n)return null;const a=e.searchParams.get("END_DAY_01");return a?fo(t,n,a):null},adults(){const t=e.searchParams.get("ADT");return t?$t(t)??2:2},children(){const t=e.searchParams.get("CHD");return t?$t(t)??0:0},currency:Dr}}}class mo{eventTarget=new EventTarget;$checkboxContainer;$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkbox.addEventListener("click",()=>{this.dispatchEvent(new go(this.$checkbox.checked))});const t=Fn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent='\n .dir-checkbox {\n margin: 0;\n margin-right: 0.9375rem;\n\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABWSURBVHja7NVBEcBADELRuEYBOnCBrwhgtrcKSPfUyRfwjlBJbJPEKJK2k5RtSd19RnW3JNtFcqy8FskCcD4HYKGFFlrof9C1qb02/rfu6AEAAP//AwC94S6rHK/aNAAAAABJRU5ErkJggg==) no-repeat;\n content: "";\n display: inline-block;\n height: 1.625rem;\n overflow: hidden;\n vertical-align: middle;\n width: 1.625rem;\n margin-top: 0;\n }\n\n .dir-checkbox:checked {\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEDSURBVHjaYvj79++2bdtaW1vLyQKtra3btm37+/cvw7Zt2+bPn//x48f/ZIGPHz/Onz9/27ZtDK2trWSbAjertbWVoby8/D/FoLy8fNQgahv05syZXR6en+7cIdagz/fvf33yBFnk39+/V3p7V8nI7nR1+/P9O7EG7fLwXKuiemfRIgj36+PHe/z8V0hKrdPU+vLwIQlee75//wpJqRWSUvtDw27Pn79WTX2FpNRKKelne/aQHEanS8sgZsHR5a5ucgL799evW8wt4KYcjIr6/+8fmbH26sSJldIyKySlNpua/Xz/nqLof3v+/M1Zs789fz6aRQaVQVQraqlW+FOrOgIMANiB7jjdFd/sAAAAAElFTkSuQmCC) no-repeat;\n }\n\n .dir-label {\n color: #666;\n cursor: pointer;\n font-size: .8125rem;\n display: inline-block;\n }\n\n @media screen and (max-width: 25.999rem) {\n\n .dir-checkbox-container {\n display: block;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 26rem) and (max-width: 29.999rem) {\n\n .dir-checkbox-container {\n display: inline-block;\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 30rem) and (max-width: 47.999rem) {\n }\n\n @media screen and (min-width: 48rem) and (max-width: 63.999rem) {\n\n .dir-checkbox-container {\n margin-left: 1rem;\n display: inline-block;\n }\n }\n\n @media screen and (min-width: 64rem) and (max-width: 79.999rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n\n @media screen and (min-width: 80rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n ',this.$checkboxContainer.appendChild(this.$label),this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}addEventListener(e,t,n){return this.eventTarget.addEventListener(e,t,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}removeEventListener(e,t,n){return this.eventTarget.removeEventListener(e,t,n)}}function fo(e,t,n){if(6!==t.length)return null;if(t.slice(0,4)!==e)return null;const a=t.slice(4,6),r=parseInt(e,10);if(Number.isNaN(r))return null;const o=parseInt(a,10);if(Number.isNaN(o))return null;const i=parseInt(n,10);return Number.isNaN(i)?null:Cr.new(r,o,i)}class go extends Event{checked;constructor(e){super("change"),this.checked=e}}const bo=new Set(["united.com"]);class yo extends Ir{checkboxManager=new Jr(ko);constructor(){super("UNITED_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return bo.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/fsr/choose-flights")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="app-components-BookFlightForm-bookFlightForm__formHeader--"]']),Yr(['[class*="app-components-BookFlightForm-bookFlightForm__findFlightBtn"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){try{const e=new URL(window.location.href).searchParams.get("t");return e?Ar(e):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("d");return t?Cr.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("r");return t?Cr.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("px");if(!t)return 2;const n=t.split(",")[0];return n?Mt(n)??2:2},children(){const t=e.searchParams.get("px");if(!t)return 0;const n=t.split(",")[5];return n?Mt(n)??0:0},currency:Dr}}}class ko{$checkboxInput;$checkboxSvg;$controlDiv;$text;$textDiv;$label;$style;$rootHost;$root;constructor(e){this.$checkboxInput=document.createElement("input"),this.$checkboxInput.className="dir-checkbox-input",this.$checkboxInput.type="checkbox",this.$checkboxInput.checked=e,this.$checkboxSvg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.$checkboxSvg.classList="dir-checkbox-svg",this.$checkboxSvg.setAttribute("viewBox","0 0 24 24"),this.$checkboxSvg.innerHTML='\n <path fill-rule="evenodd" d="M20 0a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Zm-.38 6.32a1 1 0 0 0-1.35.17l-7.11 9.07-5.51-4.23a1 1 0 0 0-1.41.18 1 1 0 0 0 .06 1.3l.09.08 6.23 4.78a.9.9 0 0 0 .52.2 1 1 0 0 0 .93-.35l7.73-9.86a1 1 0 0 0-.16-1.33Z" class="cls-1"/>\n ',this.$controlDiv=document.createElement("div"),this.$controlDiv.className="dir-control-div",this.$controlDiv.appendChild(this.$checkboxInput),this.$controlDiv.appendChild(this.$checkboxSvg);const t=Fn();this.$text=document.createTextNode(Gr("cross_sell.kayak.find_me_accommodation",{},t)),this.$textDiv=document.createElement("div"),this.$textDiv.className="dir-text-div",this.$textDiv.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$controlDiv),this.$label.appendChild(this.$textDiv),this.$style=document.createElement("style"),this.$style.textContent='\n @media screen and (min-width: 1184px) {\n * {\n scroll-margin-top: 100px;\n }\n }\n\n * {\n scroll-margin-top: 72px;\n\n background-repeat: no-repeat;\n box-sizing: border-box;\n }\n\n .dir-checkbox-input {\n \n margin-right: 10px;\n \n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n border: 2px solid #555;\n border-radius: 4px;\n background-color: rgba(0, 0, 0, 0);\n }\n\n .dir-checkbox-input:checked {\n border: none;\n }\n\n .dir-checkbox-input:focus {\n outline: 4px solid #000;\n outline-offset: 1px;\n }\n\n .dir-checkbox-input:hover, .dir-checkbox-input:focus {\n border-color: #1414d2;\n border-width: 3px;\n }\n\n .dir-checkbox-svg {\n \n width: 20px;\n height: 20px;\n visibility: hidden;\n pointer-events: none;\n \n display: block;\n \n vertical-align: middle;\n fill: currentColor;\n overflow: hidden;\n }\n\n .dir-checkbox-input:checked + .dir-checkbox-svg {\n visibility: visible;\n fill: #1414d2;\n }\n\n .dir-checkbox-input:hover + .dir-checkbox-svg {\n fill: #0d0d8f;\n }\n\n .dir-control-div {\n \n display: block;\n margin-right: .5rem;\n position: relative;\n top: 2px;\n flex: none;\n \n width: 1.25rem;\n height: 1.25rem;\n }\n\n .dir-text-div {\n letter-spacing: normal;\n text-transform: none;\n }\n\n .dir-label {\n visibility: visible;\n text-align: left;\n touch-action: manipulation;\n \n padding: 0;\n \n font-size: .875rem;\n font-weight: 400;\n line-height: 1.7142857143;\n font-family: "NeuePlakTextforUnited-Rg", "Noto Sans", "Arial", sans-serif;\n color: #000;\n display: inline-flex;\n\n \n text-transform: uppercase;\n letter-spacing: 1px;\n\n \n margin-bottom: 14px;\n padding-bottom: .25rem;\n }\n ',this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkboxInput.checked}set checked(e){this.$checkboxInput.checked=e}get isVisible(){return Hn(this.$checkboxInput)}}function vo(e){try{const t=Vr(new URL(e));return/^airbnb\.[.a-z]{2,7}/i.exec(t)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(t)?"BOOKING":/^vrbo\.com/i.exec(t)||/^abritel\.fr/i.exec(t)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(t)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(e)?"GOOGLE":null}catch(e){return console.error("Error in getPlatform",e),null}}const wo=/(www\.)?airbnb\.[.a-z]{2,7}\/rooms\/(plus\/)?(\d+)/i,jo=/[https:\/\/]*[www]*\.airbnb\..*?\/homes/i,_o=/[https:\/\/]*[www]*\.airbnb\..*?\/book\/stays/i,xo=/^(?:https:\/\/)?(?:www\.)?booking\.com\/hotel\/[\w\-\/]*/i,Co=/^(?:https:\/\/)?(?:www\.)?booking\.com\/searchresults/i,zo=/^(?:https:\/\/)?secure\.booking\.com\/(?:tpi_)?book(?:\.[a-z]+)?\.html/i,So=/^(?:https:\/\/)?secure\.booking\.com\/confirmation\.[^.]+\.html/i,Eo=/(?:www\.)vrbo\.com\/(?:[a-z]{2}-[a-z]{2}\/)?(?:[a-z0-9-]+\/)?p?\d+[a-zA-Z]*/,Oo=/(www\.)?vrbo\.com(\/\w{0,2}-\w{0,2})*\/search/,Lo=/[https:\/\/]*[www]*\.vrbo\.com(\/\w{0,2}-\w{0,2})?\/td\/tc\/checkout/,Ao=/(www\.)?abritel\.fr\/location-vacances\/(\w*)/,Po=/(www\.)?abritel\.fr\/search/,Io=/[https:\/\/]*[www]*\.abritel\.fr\/\/td\/tc\/checkout/,No=/expedia.[a-z.]{2,7}\/(?:[a-z0-9-]+\/)?[\w-]*?\.h(\d*)\.[\w-]*\??/,Do=/expedia\.[a-z.]{2,7}\/Hotel-Search/,To=/^(?:https?:\/\/)?(?:www\.)?expedia\.[a-z.]{2,7}\/checkout/,Ro=/(?:https?:\/\/)?(?:www\.)?google\.[a-z.]{2,7}\/search\?/;var Mo=Function.prototype,$o=Object.prototype,Bo=Mo.toString,Uo=$o.hasOwnProperty,Vo=Bo.call(Object);const Fo=function(e){if(!W(e)||"[object Object]"!=b(e))return!1;var t=Ue(e);if(null===t)return!0;var n=Uo.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Bo.call(n)==Vo};function qo(){return"es"===$n()?"civitatis":"viator"}function Ho(e){const t=/(http[s]?:\/\/www\.booking\.com\/[\w\/-]+)\./.exec(e);return(t?t[1]:e).replace(/http[s]?:\/\/www\.booking\.com\/hotel\//,"")}function Ko(e){try{const{pathname:t}=new URL(e),n=Ho(e.replace(/\.html?[^]*/,""));return t.includes("searchresults")?null:n}catch(e){return console.error(e),null}}class Go extends xr{checkboxManager=new Jr(Yo);confirmationInfo=null;constructor(){super("BOOKING_ACTIVITIES",qo())}async shouldActivate(){return Go.isCheckout(window.location)||Go.isConfirmation(window.location)}static isCheckout(e){return zo.test(e.href)&&null!==Go.getCheckoutType(e.pathname)}static isConfirmation(e){return So.test(e.href)}static getCheckoutType(e){return/\/book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"book":/\/tpi_book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"tpi_book":null}async getConfirmationInfoJson(){if(null!==this.confirmationInfo)return this.confirmationInfo;if(!Go.isConfirmation(window.location))return null;const e=await qn(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.confirmationInfo=e,this.confirmationInfo}async handleCrossSell(){Go.isConfirmation(window.location)?this.maybeOpenTab():this.injectUI()}injectUI(){const e=Go.getCheckoutType(window.location.pathname);switch(e){case"book":return this.injectBookUI();case"tpi_book":return this.injectTpiBookUI();case null:return;default:Ot(e)}}injectBookUI(){const e=['button[name="book"][class*="complete-booking"]'];this.checkboxManager.inject(e,{inject:"before",getContainer:e=>e.parentElement?.parentElement?.parentElement??null}),Yr(e,this.handleSubmitClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}injectTpiBookUI(){const e=['.bp-main-content button[type="submit"]'];this.checkboxManager.inject(e,{inject:"before"}),Yr(e,this.handleSubmitClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async handleSubmitClick(){await Et.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checkboxManager.checked})}async maybeOpenTab(){if(!await Et.getCrossSellWasChecked({crossSellId:this.platform}))return;const e=await this.getDestination();if(!e)return;const t=Ko(Bn(['[data-c360-id="hotelTitle"] a'])?.getAttribute("href")??""),[n,a,r,o,i]=await Promise.all([super.getQueryParam("checkin"),super.getQueryParam("checkout"),super.getQueryParam("adults"),super.getQueryParam("children"),super.getQueryParam("currency")]);Et.openActivitiesCrossSellTab({provider:qo(),sourceUrl:window.location.href,destination:e,checkin:n,checkout:a,adults:r,children:o,currency:i,sourceId:t})}async getDestination(){const e=await this.getConfirmationInfoJson();if(!e)return null;const t=qt(e,e=>e.startsWith("PostBookingProperty:"));if(!Fo(t))return null;if(!("hotelCity"in t))return null;const n=t.hotelCity;if(!Fo(n))return null;const a=n;return"rawValue"in a&&"string"==typeof a.rawValue?a.rawValue:null}async getQueryParamMap(e){const t=await this.getConfirmationInfoJson(),n=t?.body;return{checkin(){const e=n?.trans_checkin;return e&&"string"==typeof e?Cr.fromDate(new Date(e)):Cr.fromDate(new Date)},checkout(){const e=n?.trans_checkout;return e&&"string"==typeof e?Cr.fromDate(new Date(e)):Cr.fromDate(new Date)},adults(){const e=n?.num_adults;return"number"!=typeof e||Number.isNaN(e)?2:e},children(){const e=n?.child_ages;return Array.isArray(e)?e.length:0},currency:()=>"string"!=typeof n?.trans_currencycode?Dr:n?.trans_currencycode}}}class Yo{$checkbox;$linkText;$link;$text;$label;$wrapper;$style;$rootHost;$root;constructor(e){const t=Fn();this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$text=document.createTextNode(Gr("cross_sell.activities.explore_activities_with",{},t));const n=qo();this.$linkText=document.createTextNode(Gr(`cross_sell.activities.${n}`,{},t)),this.$link=document.createElement("a"),this.$link.href=function(e){switch(e){case"viator":return(()=>{const e=new URL("/","https://www.viator.com");return e.searchParams.append("pid","P00253809"),e.searchParams.append("mcid","42383"),e.searchParams.append("medium","link"),e.toString()})();case"civitatis":return(()=>{const e=new URL("/","https://www.civitatis.com");return e.searchParams.append("aid","110241"),e.toString()})();default:Ot(e)}}(n),this.$link.target="_blank",this.$link.rel="noopener noreferrer",this.$link.appendChild(this.$linkText),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$label.appendChild(this.$link),this.$wrapper=document.createElement("div"),this.$wrapper.className="dir-wrapper",this.$wrapper.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-wrapper {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n\n .dir-label {\n margin-right: 0.1em;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$wrapper)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Hn(this.$checkbox)}}const Qo=new Set(["flyfrontier.com","es.flyfrontier.com"]);class Wo extends Nr{checkboxManager=new Jr(Jo);constructor(){super("FLYFRONTIER_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return Qo.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".divPromoSearchParent"],{inject:"after"}),Yr(["#btnSearch"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){try{const e=Bn(["#destination-label"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bn(["input#departureDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:Cr.fromDate(n)},checkout(){const e=Bn(["input#returnDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:Cr.fromDate(n)},adults(){const e=Bn(["input#passengersInput"]);if(!e)return 2;const t=e.getAttribute("data-travelers-adult");return null===t?2:Mt(t)??2},children(){const e=Bn(["input#passengersInput"]);if(!e)return 0;const t=e.getAttribute("data-travelers-child")??"0",n=e.getAttribute("data-travelers-infant")??"0";return(Mt(t)??0)+(Mt(n)??0)},currency:"USD"}}}const Jo=Zr(function({visibilityRef:e,checked:t,onClick:n}){const a=Fn();return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsx)("style",{children:"\n.dir-label {\n color: #fff;\n font-size: 13px;\n font-weight: 400;\n cursor: pointer;\n\n display: inline-block;\n margin-top: 3%;\n}\n"}),(0,Qr.jsxs)("label",{className:"dir-label",children:[(0,Qr.jsx)("input",{type:"checkbox",checked:t,onClick:n,onChange:()=>{},ref:e}),Gr("cross_sell.kayak.find_me_accommodation",{},a)]})]})});var Zo=n(12);const Xo=new Set(["southwest.com","espanol.southwest.com"]);class ei extends Ir{checkboxManager=new Jr(ti);constructor(){super("SOUTHWEST_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return Xo.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/air/booking/select-depart.html")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['#bookingSection [class*="showLowFareContainer__"]']),Yr(['#bookingSection [class*="submit__"] button'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){try{const e=new URL(window.location.href),t=e.searchParams.get("to");if(t){const e=t.split(",").map(e=>e.trim()).filter(e=>e.length>0)[0];return e?Ar(e):null}const n=e.searchParams.get("destinationAirportCode");return n?Ar(n):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("departureDate");return t?Cr.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("returnDate");return t?Cr.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adultsCount");if(!t)return 2;const n=Mt(t);return null===n?2:n},children:()=>(Mt(e.searchParams.get("teensCount")??"0")??0)+(Mt(e.searchParams.get("olderChildCount")??"0")??0)+(Mt(e.searchParams.get("youngerChildCount")??"0")??0)+(Mt(e.searchParams.get("lapInfantPassengersCount")??"0")??0),currency:"USD"}}}const ti=Zr(function({visibilityRef:e,checked:t,onClick:n}){const a=(0,Gn.useId)(),r=Fn();return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsx)("style",{children:'\n* {\n box-sizing: border-box\n}\n\n.crossSellCheckbox {\n display: inline-block\n}\n\n.formField {\n display: flex;\n flex-direction: column\n}\n\n.hiddenFromScreen {\n border: 0;\n clip: rect(0,0,0,0);\n height: 0;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px\n}\n\n.checkbox {\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n gap: .5rem;\n outline: 0;\n position: relative;\n width: fit-content\n}\n\n.checkbox:before {\n border: 1px solid var(--cmp-core-color-checkbox-border);\n bottom: -2px;\n content: "";\n left: -4px;\n opacity: 0;\n position: absolute;\n right: -4px;\n top: -2px;\n transition: opacity var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.checkbox:hover .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:hover .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox:focus-visible:before {\n opacity: 1\n}\n\n.checkbox:focus-visible .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:focus-visible .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox.selected .checkboxIcon {\n background-color: var(--cmp-core-color-checkbox-bg-selected);\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast),border-color var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.focusRing {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n display: flex;\n flex-shrink: 0;\n height: 1.25rem;\n justify-content: center;\n margin: -.125rem;\n position: relative;\n transition: border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1.25rem\n}\n\n.checkboxIcon {\n align-items: center;\n background-color: var(--cmp-core-color-checkbox-bg);\n border-color: var(--cmp-core-color-checkbox-border);\n border-radius: 2px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n height: 1rem;\n justify-content: center;\n overflow: hidden;\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast) linear .1s,border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1rem;\n}\n\n.iconContainer {\n display: flex\n}\n\n.icon {\n display: inline-block;\n font-size: 0\n}\n\n.transparentBorder {\n border: 2px solid var(--cmp-core-color-icon-border-transparent)\n}\n\n.container {\n align-items: center;\n display: inline-flex;\n justify-content: center\n}\n\n.label {\n color: var(--cmp-core-color-checkbox-content);\n flex: 1;\n min-width: 0;\n transition: color var(--cmp-core-defines-animation-duration-slow)\n}\n'}),(0,Qr.jsxs)("span",{className:"crossSellCheckbox formField",children:[(0,Qr.jsx)("input",{"aria-hidden":"true",className:"hiddenFromScreen",tabIndex:-1,type:"checkbox",value:t?"true":"false",onChange:()=>{}}),(0,Qr.jsxs)("div",{"aria-checked":t,"aria-disabled":"false","aria-labelledby":a,className:Zo("checkbox",{selected:t}),role:"checkbox",tabIndex:0,ref:e,onClick:n,children:[(0,Qr.jsx)("span",{className:"focusRing",children:(0,Qr.jsx)("span",{className:"checkboxIcon",children:(0,Qr.jsx)("div",{className:"iconContainer",style:{opacity:t?1:0,transform:"none"},children:(0,Qr.jsx)("span",{className:"container",style:{height:16,width:16},children:(0,Qr.jsx)("svg",{"aria-label":"Check",className:"icon transparentBorder",height:16,role:"img",viewBox:"0 0 32 32",style:{fill:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)",stroke:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)"},children:(0,Qr.jsx)("path",{d:"M2,14 L13,24 L29,7",fill:"none",strokeDasharray:"39",strokeWidth:"5",strokeDashoffset:"0"})})})})})}),(0,Qr.jsx)("span",{className:"label",id:a,children:Gr("cross_sell.kayak.find_me_accommodation",{},r)})]})]})]})}),ni=new Set(["delta.com","es.delta.com"]);class ai extends Nr{checkboxManager=new Jr(ri);constructor(){super("DELTA_HOTELS","KAYAK")}async shouldActivate(){const e=Vr(new URL(window.location.href));return ni.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["ngc-search-options fieldset .booking-widget_search-checkbox-section"]),Yr(["#btn-book-submit"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){try{const e=Bn(["#toAirportName .airport-desc"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bn(["#calDepartLabelCont input"]);if(!e)return null;const t=e.value;return t?Cr.tryFromSlashMMDDYYYY(t):null},checkout(){const e=Bn(["#calReturnLabelCont input"]);if(!e)return null;const t=e.value;return t?Cr.tryFromSlashMMDDYYYY(t):null},adults(){const e=Bn(["#passengers-val"]);if(!e)return 2;const t=e.textContent?.match(/\d+/)?.[0]??null;return t?Mt(t)??2:2},children:0,currency:"USD"}}}const ri=Zr(function({visibilityRef:e,checked:t,onClick:n}){const a=Fn(),r=(0,Gn.useId)();return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsx)("style",{children:'\n*, :after, :before {\n box-sizing: border-box;\n}\n\ninput {\n padding: 0;\n}\n\n.dir-wrapper {\n /* always put checkbox at the end */\n order: 99999;\n\n font-weight: 400;\n font-size: .875rem;\n line-height: 1.5;\n}\n\nlabel {\n padding-top: .375rem;\n font-family: Whitney-Light !important;\n font-size: .875rem;\n display: inline-block;\n margin-bottom: .5rem;\n touch-action: manipulation;\n}\n\n.searchOptionCheckboxColumn input+label:before {\n top: .5rem;\n}\n\n@media (min-width: 375px) {\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n}\n\n@media (min-width: 768px) {\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n.col-md-6, .col-sm-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\ninput {\n overflow: visible;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n position: absolute;\n top: .5rem;\n left: 1rem;\n width: 1.125rem;\n height: 1.25rem;\n margin: auto;\n}\n\ninput:focus {\n box-shadow: 0 0 .0625rem .3125rem #242a48, 0 0 .0625rem .375rem #616778 !important;\n background-color: #fafbfc;\n border-radius: 3px !important;\n outline: none !important;\n}\n\ninput+label {\n position: relative;\n padding-left: 2rem;\n line-height: 1.5rem;\n}\n\ninput:checked+label:before {\n color: #818a98;\n content: "\\E909";\n}\n\ninput+label:before {\n position: absolute;\n left: 0;\n font-size: 1.25rem;\n color: #818a98;\n content: "\\E91C";\n background-color: #11172b;\n}\n\n.icon-Checked:before {\n font-family: icomoon !important;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: none;\n}\n\n@media (min-width: 992px) {\n .searchOptionCheckboxColumn {\n flex: 0 0 auto !important;\n width: auto !important;\n max-width: none !important;\n }\n\n .dir-wrapper {\n padding: 0 0 0 .8125rem;\n }\n}\n\n@media (max-width: 991.9999px) {\n .dir-wrapper {\n width: 100%;\n }\n}\n'}),(0,Qr.jsx)("div",{className:"dir-wrapper",children:(0,Qr.jsxs)("div",{className:"col-sm-auto col-md-6 searchOptionCheckboxColumn",children:[(0,Qr.jsx)("input",{id:r,type:"checkbox",checked:t,onChange:n}),(0,Qr.jsx)("label",{htmlFor:r,className:"icon-Checked",ref:e,children:Gr("cross_sell.kayak.find_me_accommodation",{},a)})]})})]})}),oi=new Set(["aa.com"]);class ii extends Nr{checkboxManager=new Jr(si);constructor(){super("AMERICAN_AIRLINES_HOTELS","KAYAK")}async shouldActivate(){const e=new URL(window.location.href),t=Vr(e);return oi.has(t)&&"/homePage.do"===e.pathname}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["#bookingCheckboxContainer >:last-child"],{inject:"append"}),Yr(['#flightSearchFormSubmitButton input[type="submit"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Tr,preventOriginalClick:!1})}async getDestination(){try{const e=Bn(['input[name="destinationAirport"]']);return e?Ar(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bn(['input[name="departDate"]']);return e?Cr.tryFromSlashMMDDYYYY(e.value):null},checkout(){const e=Bn(['input[name="returnDate"]']);return e?Cr.tryFromSlashMMDDYYYY(e.value):null},adults(){const e=Bn(['select[name="adultOrSeniorPassengerCount"]']);return e?Mt(e.value)??2:2},children:0,currency:"USD"}}}const si=Zr(function({visibilityRef:e,checked:t,onClick:n}){const a=Fn(),r=(0,Gn.useId)();return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsx)("style",{children:'\n* {\n box-sizing: border-box;\n}\n\n.dir-container {\n display: inline-block;\n\n font-family: Arial, sans-serif;\n font-size: 1em;\n}\n\ninput[type="checkbox"] {\n border: 0;\n clip: rect(0 0 0 0);\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\nlabel {\n display: inline-block;\n line-height: 20px;\n margin: 0;\n position: relative;\n width: 100%;\n\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\n.control {\n font: inherit;\n font-size: 100%;\n\n background-color: #fff;\n color: #fff;\n height: 20px;\n width: 20px;\n display: inline-block;\n margin: -2px 1px 0;\n border: 1px solid #9da6ab;\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n vertical-align: middle;\n\n margin-right: 1px;\n}\n\ninput[type="checkbox"]:checked~label .control {\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n background-color: #0078d2;\n}\n\ninput[type="checkbox"]:checked~label .control:before {\n content: "";\n height: 4px;\n width: 8px;\n display: inline-block;\n border-color: #fff;\n border-style: none none solid solid;\n border-width: 2px;\n margin: 4px;\n -ms-transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type="checkbox"]:focus~label .control, input[type="checkbox"]:hover~label .control, input[type="checkbox"]~label .control:focus, input[type="checkbox"]~label .control:hover {\n outline: 1px solid #0078d2;\n border: 1px solid #0078d2;\n}\n'}),(0,Qr.jsxs)("div",{className:"dir-container",children:[(0,Qr.jsx)("input",{type:"checkbox",value:t?"true":"false",checked:t,id:r,onChange:()=>{}}),(0,Qr.jsxs)("label",{htmlFor:r,ref:e,onClick:n,children:[(0,Qr.jsx)("span",{className:"control"})," ",Gr("cross_sell.kayak.find_me_accommodation",{},a)," "]})]})]})});class ci{platforms=[];constructor(){this.platforms=[new eo,new ao,new io,new lo,new ho,new yo,new Wo,new ei,new ai,new ii,new Go]}async initialize(e){for(const t of this.platforms)await t.shouldActivate(e)&&await t.handleCrossSell()}}class li{partner_name=""}class ui extends li{info=null;parserType="json";constructor(e){if(!e)throw new Error("Partner name is required");super(),this.partner_name=e}shouldHandle(e){throw new Error("Method not implemented.")}async getLocale(){return $n()}async isReservation(){return!!await this.getReservationId()}async getReservationDetails(){try{if(await this.isReservation())return{platform_reservation_id:await this.getReservationId(),reservation_url:window.location.href,booking_reference:await this.getBookingReference(),partner_name:this.partner_name,status:await this.getStatus(),property_name:await this.getPropertyName(),guest_name:await this.getGuestName(),guest_email:await this.getGuestEmail(),currency:null,gross_total_price:null,net_total_price:null,total_tax_price:null,...await this.getPrice(),...await this.getStayParams(),locale:await this.getLocale(),clean_html:"html"===this.parserType?await this.getCleanHTML():null}}catch(e){console.error("Error getting reservation details",e)}return null}async getStayParams(){return{checkin:await this.buildQueryParams("checkin"),checkout:await this.buildQueryParams("checkout"),adults:await this.buildQueryParams("adults"),children:await this.buildQueryParams("children")}}async buildQueryParams(e,t=window.location.href){const n=new URL(t);return _r((await this.getQueryParamMap(n))[e])}async getInfoJSON(e="#__NEXT_DATA__"){try{if(this.info)return this.info;const t=await un(()=>Bn([e]),e=>!e||!e.textContent,10)();return this.info=Kt(t?.textContent??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getReservationId(){throw new Error("Method not implemented.")}async getBookingReference(){throw new Error("Method not implemented.")}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){throw new Error("Method not implemented.")}async getStatus(){throw new Error("Method not implemented.")}async getQueryParamMap(e){throw new Error("Method not implemented.")}async getCleanHTML(){return await function({timeout:e=2e3,stableThreshold:t=1e3,checkInterval:n=300,minTextLength:a=200,minElementCount:r=30}){const o=Date.now()+e;return new Promise(i=>{let s=!1,c=Date.now(),l=Date.now(),u=0,d={elements:0,text:0};const p=()=>{s||(s=!0,h.disconnect(),clearTimeout(g),i())},h=new MutationObserver(()=>{c=Date.now()}),m=()=>{if(s)return;const e=Date.now();if(e>=o)return void p();const i=document.body?.getElementsByTagName("*").length??0,h=(document.body?.innerText??"").replace(/\s+/g," ").trim().length;i!==d.elements||h!==d.text?(d={elements:i,text:h},l=e,u=0):e-c>=n&&(()=>{const e=document.querySelector('main, [role="main"], article')??document.body;if(!e)return!1;const t=(e.textContent??"").replace(/\s+/g," ").trim(),n=e.querySelectorAll("section, article, div, p, span").length;return t.length>=a&&n>=r})()?u+=1:u=0,u>=3&&e-l>=t?p():setTimeout(m,n)},f=()=>{s||(document.body?(d={elements:document.body.getElementsByTagName("*").length,text:(document.body.innerText??"").replace(/\s+/g," ").trim().length},h.observe(document.body,{childList:!0,subtree:!0}),m()):setTimeout(f,50))},g=setTimeout(p,e);(e=>{if("complete"===document.readyState)return e();const t=()=>{window.removeEventListener("load",t),document.removeEventListener("DOMContentLoaded",t),e()};window.addEventListener("load",t,{once:!0}),document.addEventListener("DOMContentLoaded",t,{once:!0})})(f)})}({timeout:5e3}),function(e){const t=e.body||e,n=t.querySelector("main")||t||e;if(!n)return"";n.querySelectorAll("script, noscript, style, svg, link, iframe, img, select, textarea, command, object, param, track, base").forEach(e=>e.remove()),n.querySelectorAll("[style]").forEach(e=>{e.removeAttribute("style")});const a=e.createTreeWalker(n,NodeFilter.SHOW_COMMENT,null),r=[];let o;for(;o=a.nextNode();)r.push(o);r.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)});const i=[/tracking/i,/banner/i];return n.querySelectorAll("[class], [id]").forEach(e=>{const t=`${e.className} ${e.id}`;i.some(e=>e.test(t))&&e.remove()}),n.innerHTML.trim().replace(/\s+/g," ").replace(/\n\s*\n/g,"\n").replace(/^\s+|\s+$/g,"").replace(/\n\s+/g,"\n").replace(/\s+\n/g,"\n")}(document.cloneNode(!0))}}function di(e){return Math.round(e)/100}function pi(e){if(!e)return null;const t=e.match(/\d[\d., \u202f]*/);if(!t)return null;const n=t[0].trim().replace(/[^\d]$/,""),a=n.match(/^(?<integer>\d{1,3}(?:\.\d{3})*)(?:,(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:,\d{3})*)(?:\.(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:[ \u202f]\d{3})*)(?:[.,](?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d+)(?:[.,](?<decimal>\d{1,2}))?$/);if(!a)return null;const r=a.groups.integer.replace(/[., \u202f]/g,""),o=a.groups.decimal||"",i=100*parseInt(r,10),s=parseInt(o.padEnd(2,"0"),10);return isNaN(i)||isNaN(s)?null:i+s}class hi extends ui{constructor(){super("HYATT")}shouldHandle(e){return/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirm\//i.test(e)||/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/detail\//i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"confirmation_number",null))}async getPropertyName(){const e=await this.getInfoJSON(),t=On(e,"hotel_name",null);return"string"!=typeof t?null:t}async getGuestName(){const e=Bn(['[data-locator="guest-name"]']),t=e?.textContent?.trim()??null;if(t)return t;const n=Bn(['[data-js="firstName"]']),a=Bn(['[data-js="lastName"]']),r=n?.getAttribute("value")?.trim()??null,o=a?.getAttribute("value")?.trim()??null;return r||o?`${r} ${o}`:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getInfoJSON(),t=On(e,"customer_email",null);return"string"==typeof t?t:Bn(['[data-js="email"]'])?.getAttribute("value")||null}async getPrice(){try{const e=Bn(['[data-js="cash-total-price"']),t=e?.getAttribute("data-currency")?.trim()??"",n=e?.getAttribute("data-price")?.trim()??"";return{currency:t,net_total_price:pi(n),gross_total_price:pi(n),total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Un(['script[type="text/javascript"]']),t=Array.from(e).find(e=>/utag_data\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/utag_data\s*=\s*(\{[\s\S]*?\})/);if(n){const e=n[1];return this.info=Kt(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){try{const e=await this.getInfoJSON(),t=e?.date_checkin||Bn([".originalCheckinDate"])?.textContent?.trim()||null,n=e?.date_checkout||Bn([".originalCheckoutDate"])?.textContent?.trim()||null,a=e?.number_of_adults||Bn(['[data-id="adults"]'])?.getAttribute("data-value")||null,r=e?.number_of_children||null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof n?n:null,adults:"number"==typeof a?a:"string"==typeof a?$t(a):null,children:"number"==typeof r?r:"string"==typeof r?$t(r):null}}catch(e){return console.error("Error getting query param map",e),{checkin:null,checkout:null,adults:null,children:null}}}}class mi extends ui{constructor(){super("BARCELO"),this.parserType="html"}shouldHandle(e){return/reservation\.barcelo\.com(?:[a-zA-Z\/]*?)\/booking-confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("itineraryNumber");if(e)return e;const t=await un(()=>Un(['[class*="Alert_success__"] span']),e=>!On(e,"[1].textContent",null),10)();return t?.[1]?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class fi extends ui{constructor(){super("MARRIOTT"),this.parserType="html"}shouldHandle(e){return/www\.marriott\.com(?:[a-zA-Z-\/]*?)\/reservation\/(confirmation|upcomingReservation)\.mi/i.test(e)}async getReservationId(){try{const e=await un(Un,e=>!On(e,"[1].textContent",null))([".booking-id-wrapper span"]),t=e?.length?e[1]?.textContent:null;if(t)return t.trim().replace(/\s/g,"").replace("#","");return new URL(window.location.href).searchParams.get("confirmationNumber")||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}var gi=Object.prototype.toString;const bi=(ki=function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=gi.call(t)),e[t]=n},wi=Nn,vi=function(){return wi},function(e,t){return function(e,t,n,a){return Pn(e,function(e,r,o){t(a,n(e),r,o)}),a}(e,ki,vi(t),{})}),yi={...bi({AED:"د.إ",AFN:"؋",ALL:"L",AMD:"֏",ANG:"ƒ",AOA:"Kz",ARS:"AR$",AUD:"$",AWG:"ƒ",AZN:"ман",BAM:"KM",BBD:"$",BDT:"৳",BGN:"лв",BHD:".د.ب",BIF:"FBu",BMD:"$",BND:"$",BOB:"$b",BRL:"R$",BSD:"$",BTC:"฿",BTN:"Nu.",BWP:"P",BYR:"p.",BZD:"BZ$",CAD:"$",CDF:"FC",CHF:"CHF",CLP:"$",CNY:"¥",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"Fdj",DKK:"kr",DOP:"RD$",DZD:"دج",EEK:"kr",EGP:"£",ERN:"Nfk",ETB:"Br",ETH:"Ξ",EUR:"€",FJD:"$",FKP:"£",GEL:"₾",GGP:"£",GHC:"₵",GHS:"GH₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"ع.د",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"J$",JOD:"JD",JPY:"¥",KES:"KSh",KGS:"лв",KHR:"៛",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"KD",KYD:"$",KZT:"лв",LAK:"₭",LBP:"£",LKR:"₨",LRD:"$",LSL:"M",LTC:"Ł",LTL:"Lt",LVL:"Ls",LYD:"LD",MAD:"MAD",MDL:"lei",MGA:"Ar",MKD:"ден",MMK:"K",MNT:"₮",MOP:"MOP$",MUR:"₨",MVR:"Rf",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"₨",NZD:"$",OMR:"﷼",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"₨",PLN:"zł",PYG:"Gs",QAR:"﷼",RMB:"¥",RON:"lei",RSD:"Дин.",RUB:"₽",RWF:"R₣",SAR:"﷼",SBD:"$",SCR:"₨",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SOS:"S",SRD:"$",SSP:"£",STD:"Db",SVC:"$",SYP:"£",SZL:"E",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت",TOP:"T$",TRL:"₤",TRY:"₺",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"₴",UGX:"USh",UYU:"$U",UZS:"лв",VEF:"Bs",VND:"₫",VUV:"VT",WST:"WS$",XAF:"FCFA",XBT:"Ƀ",XCD:"$",XOF:"CFA",XPF:"₣",YER:"﷼",ZAR:"R",ZWD:"Z$",USD:"$",GBP:"£"}),$:"USD",US$:"USD"};var ki,vi,wi;function ji(e,t){return t?.[e]||yi[e]||e||null}function _i(e){return/^[A-Z]{3}$/.test(e)}class xi extends ui{constructor(){super("HOLIDU")}shouldHandle(e){return/holidu\.[.a-z]{2,7}\/reservations\//i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=Bt(On(e,"booking.bookingDetails.externalBookingId",null));if(null!==t)return t;const n=Bt(On(e,"booking.bookingDetails.bookingId",null));if(null!==n)return n;const a=Bn(["#contact b"]);return a?.textContent?.trim()??null}async getPrice(){try{const e=await this.getInfoJSON(),t=Ft(On(e,"booking.bookingDetails.receipt",null));if(t){const e=On(t,"priceTotal.price.local.currency",null),n=On(t,"priceTotalWithTaxes.price.local.value",null),a=On(t,"priceTotal.price.local.value",null);return{currency:"string"==typeof e?e:null,gross_total_price:pi(Bt(n)),net_total_price:pi(Bt(a))}}const n=Bn(["#payment-schedule .mb-xxl"]);if(n?.textContent){const e=n.textContent.trim(),t=e.replace(/[\d,.\s]*/g,""),a=pi(e);return{currency:ji(t),gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=On(e,"apartment.details.name",null);if("string"==typeof t)return t;const n=Bn([".text-2xl"]);return n?.textContent?.trim()??null}async getGuestName(){const e=await this.getInfoJSON(),t=On(e,"booking.bookingDetails.customer",null),n=On(t,"firstName",null),a=On(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=On(e,"booking.bookingDetails.customer.email",null);if("string"==typeof t)return t;const n=Un([".tw-reset-button.cursor-pointer.text-black-ultra"]);return n?.[5]?.textContent?.trim()??null}async getStatus(){const e=Bn([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")||window.location.href.includes("cancel")?"CANCELLED":"BOOKED"}async getLocale(){const e=Bn(['[data-testid="Navbar__LocaleCurrencySelector"]']);return e?.textContent?.trim()?.split("/")[0]?.toLowerCase()?.trim()||super.getLocale()}async getInfoJSON(){try{if(this.info)return this.info;const e=await un(()=>Bn(['script[data-key="initial-state"]']),e=>!e||!e.textContent,10)(),t=e?.textContent?.trim()?.replace(/<!--/,"").replace(/-->/,"");return this.info=Kt(t??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ft(On(t,"booking.bookingDetails",null));if(n){const e=Ft(On(n,"guests",null)),t=n.checkin,a=n.checkout,r=e?.adults??null,o=e?.kids??null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof a?a:null,adults:"number"==typeof r?r:"string"==typeof r?$t(r):null,children:"number"==typeof o?o:"string"==typeof o?$t(o):null}}const a=Bn([".pr-m .mt-s:not(.gap-xs)"]);return{checkin:()=>{try{if(!a)return null;const e=a.children[0],t=e?.children[1]?.children[0];return Sr(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.children[1],t=e?.children[1]?.children[0];return Sr(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bn(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(1)"]);return $t(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Bn(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(2)"]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}const Ci=".confirmation-page .row > div.col-lg-5.col-12";class zi extends ui{constructor(){super("MEININGER")}shouldHandle(e){return/book\.meininger-hotels\.com\/reservations\/[a-f0-9-]+-(?!guest-details)[^\/]+/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=Bt(On(e,"props.bookingCartConfirmation.info.bookingReservationNumber",null));if(null!==t)return t;const n=Bn([`${Ci} > div:nth-child(2) > div > div:nth-child(2)`]);return n?.textContent?.trim()??null}async getPropertyName(){const e=await this.getInfoJSON(),t=On(e,"props.bookingCartConfirmation.info.hotelFullName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getInfoJSON(),t=On(e,"props.bookingCartConfirmation.info.guest",null),n=On(t,"name",null),a=On(t,"surname",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=On(e,"props.bookingCartConfirmation.info.guest.email",null);return"string"!=typeof t?null:t}async getPrice(){try{const e=await this.getInfoJSON(),t=Ft(On(e,"props.bookingCartConfirmation",null));if(t){const e=On(t,"info.currency",null),n=On(t,"totalAmount",null),a=On(t,"totalAmountWithCityTax",null),r=On(t,"totalCityTax",null);return{currency:"string"==typeof e?e:null,net_total_price:"number"==typeof n?n:null,gross_total_price:"number"==typeof a?a:null,total_tax_price:"number"==typeof r?r:null}}const n=Bn([".bookingCart"]),a=Bn([".bookingCart"])?.children[0],r=a?.getAttribute("data-currency")?.trim()??null,o=n?.children[1];return{currency:r?ji(r):null,net_total_price:pi(o?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){try{if(this.info)return this.info;const e=await un(()=>Bn(["#app"]),e=>!e||!e.getAttribute("data-page"),10)();return this.info=Kt(e?.getAttribute("data-page")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){const e=Bn([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ft(On(t,"props.bookingCartConfirmation.info",null));if(n){const{arrivalDate:e,departureDate:t,adults:a,children:r}=n;return{checkin:"string"==typeof e?e:null,checkout:"string"==typeof t?t:null,adults:"number"==typeof a?a:"string"==typeof a?$t(a):null,children:"number"==typeof r?r:"string"==typeof r?$t(r):null}}const a=Bn([`${Ci} > div:nth-child(3) > div > div:nth-child(2)`]);return{checkin:()=>{try{if(!a)return null;const e=a.textContent;return Sr(Er(e?.split(" - ")[0]??null))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.textContent;return Sr(Er(e?.split(" - ")[1]??null))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bn([`${Ci} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column`]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Bn([`${Ci} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column > span:nth-child(2)`]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Si extends ui{constructor(){super("EVOLVE")}shouldHandle(e){return/evolve\.com\/booking\/(\d+)\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.pathname.match(/\/booking\/(\d+)\/confirmation/),n=await this.getQueryParamMap(e);if(!t?.[1])return null;const a=await Promise.all(Object.values(n).map(e=>"function"==typeof e?e():e));return`${t[1]}-${a.join("-")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return this.getReservationId()}async getPrice(){return{currency:null,gross_total_price:null,net_total_price:null}}async getPropertyName(){const e=Bn([".Confirmation_listingCopy__t0MUM .Confirmation_sectionHeading__Mlxru"]);return e?.textContent?.trim()??null}async getGuestName(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:()=>{try{return Sr(Er(e.searchParams.get("startDate")))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return Sr(Er(e.searchParams.get("endDate")))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return $t(e.searchParams.get("adults")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return $t(e.searchParams.get("children")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Ei extends ui{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/managebookings\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml#\/details/i.test(e)}async getReservationId(){try{const e=await un(()=>Bn([".bd-info__booking-number"]),e=>!e,15)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=Bn(["#afterTaxValue"]);if(e?.textContent){const t=Bn([".price-display__value"],e),n=t?.textContent?.trim()??e.textContent.trim(),a=pi(n)??Math.round(100*parseFloat(n.replace(/[^0-9.,]/g,"").replace(",","."))),r=Bn([".js-currency-text"]);return{currency:r?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Bn(["#hotelName"]);return e?.textContent?.trim()||null}async getGuestName(){const e=Bn(["#reserveeFullName"]);return e?.textContent?.trim()||null}async getGuestEmail(){return null}async getStatus(){const e=Bn([".is-cancellation-message"]);return e?.textContent?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Bn([".bd-info__date"]);return{checkin:()=>{try{if(!t)return null;const e=Bn([".bd-info__date-in-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Bn([".bd-info__date-out-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bn(["#roomListPaxAdults_0"]);return e?$t(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Oi extends ui{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/ssr\/app\/accor\/confirmation\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml/i.test(e)}async getReservationId(){try{const e=await this.getManageReservationButton(),t=e?.getAttribute("href");if(t){return new URL(t,window.location.origin).searchParams.get("historic.folderNumber")??null}return null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPropertyName(){const e=Bn([".hotelTitle__text"]);return e?.textContent?.trim()??null}async getGuestName(){const e=await this.getManageReservationButton(),t=e?.getAttribute("href");return t?new URL(t,window.location.origin).searchParams.get("historic.bookingName")??null:null}async getGuestEmail(){return null}async getPrice(){try{const e=Bn([".booking-price"]);if(e?.textContent){const t=Bn([".mcp-price-number"],e),n=Bn([".mcp-price-cent"],e),a=Bn([".js-currency-text"]),r=`${t?.textContent?.trim()??""}${n?.textContent?.trim()??"00"}`,o=Number(r);return{currency:a?.textContent?.trim()??"",gross_total_price:o,net_total_price:o}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getManageReservationButton(){return await un(()=>Bn(["a.btn--manage-reservation"]),e=>!e,15)()}async getQueryParamMap(e){const t=Bn(["li.confirmation-booking-summary__body-items-item"]),n=async()=>{try{const t=await this.getManageReservationButton(),n=t?.getAttribute("href");if(!n)return null;const a=new URL(n,e.origin),r=a.searchParams.get("historic.dayIn")??null,o=a.searchParams.get("historic.monthIn")??null;return`${a.searchParams.get("historic.yearIn")??null}-${o}-${r}`}catch(e){return console.error("Error getting checkin",e),null}};return{checkin:n,checkout:async()=>{try{if(!t)return null;const e=$t(t.children[0]?.textContent?.trim().match(/\d+/g)?.[0]??"");if(!e)return null;const a=await n();if(!a)return null;const r=new Date(a).getTime()+24*e*60*60*1e3;return Sr(new Date(r).toISOString())??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return t?$t(t.children[1]?.textContent?.trim().match(/\d+/g)?.[1]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return t?$t(t.children[1]?.textContent?.trim().match(/\d+/g)?.[2]??""):null}catch(e){return console.error("Error getting children",e),null}}}}}class Li extends ui{constructor(){super("GUESTREADY")}shouldHandle(e){return/book\.guestready\.com\/(?:[a-zA-Z]{2}\/)*reservations\/([a-zA-Z0-9]+)/i.test(e)}async getReservationId(){try{const e=/\/reservations\/([a-zA-Z0-9]+)/,t=new URL(window.location.href);return t.pathname.match(e)?.[1]??null}catch(e){return console.error("Error getting reservation id",e),null}}async getPropertyName(){return null}async getGuestName(){return null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"props.pageProps.reservation.booking_number",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=On(e,"props.pageProps.reservation.receipts.payments[0].amount_formatted",null);if("string"!=typeof t)return null;const n=t.replace(/[0-9.,\s]/g,""),a=pi(t);return{currency:ji(n),gross_total_price:a,net_total_price:a}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===On(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ft(On(t,"props.pageProps.reservation",null));return{checkin:()=>{try{const e=On(n,"check_in_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(n,"check_out_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=On(n,"adults",null);return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=On(n,"children",null);return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}const Ai=(e,t,n)=>{if(e.searchParams.get(t)&&e.searchParams.get(n)){const a=e.searchParams.get(t),r=`${(parseInt(a?.slice(0,2)||"",10)||0)+1}`.padStart(2,"0"),o=a?.slice(2);return`${o}-${r}-${e.searchParams.get(n)}`}return null};class Pi extends ui{constructor(){super("IHG")}shouldHandle(e){return/www\.ihg\.com(?:[a-zA-Z\/]*?)\/pay\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href);return`${e.searchParams.get("confirmationNumber")}-${e.searchParams.get("lastName")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await un(()=>Bn(['[data-slnm-ihg="reservationConfirmationMessage"] .notranslate']),e=>!e||!e?.textContent?.trim(),10)();return e?.textContent?.trim()??this.getReservationId()}async getPrice(){try{const e=await un(()=>Bn([".table-bottom._total .side-panel-total"]),e=>!e||!e?.textContent?.trim(),10)();if(e?.textContent){const t=e.textContent.replace(/[^0-9.,]/g,""),n=Bn([".brandThemeLink"],e),a=pi(t);return{currency:n?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Bn([".hotelInfoSummary .ng-star-inserted"]);return e?.textContent?.trim()??null}async getGuestName(){const e=Bn(['[data-slnm-ihg="quickEnrollWelcomeContentSID"] .notranslate']);return e?.textContent?.trim()??null}async getGuestEmail(){return await this.getGuestName()}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await un(()=>Bn(['[data-slnm-ihg="duplicateReservationButton"]']),e=>!e||!e?.getAttribute("href"),10)(),n=t?.getAttribute("href");if(!n)return{checkin:null,checkout:null,adults:null,children:null};const a=new URL(`${window.location.origin}${n}`);return{checkin:()=>{try{return Ai(a,"qCiMy","qCiD")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return Ai(a,"qCoMy","qCoD")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return $t(a.searchParams.get("qAdlt")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return $t(a.searchParams.get("qChld")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Ii extends ui{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/checkout\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("loc");if(e)return e;const t=await this.getInfoJSON();return Bt(On(t,"props.pageProps.checkOutDetails.summary.locatorCode",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"props.pageProps.checkOutDetails.summary.selectedConfig.locator",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Ft(On(e,"props.pageProps.checkOutDetails.summary.selectedRoomRate",null));if(t?.currencyPrice){const n=On(e,"props.pageProps.checkOutDetails.currency",null),a=Bt(On(t,"currencyPrice",null)||On(t,"price",null)),r=Bt(On(t,"currencyPriceWithoutTax",null)||On(t,"priceWithoutTax",null)),o=pi(a),i=pi(r);return{currency:"string"==typeof n?n:null,gross_total_price:o,net_total_price:o,total_tax_price:null!==o&&null!==i?o-i:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===On(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=On(t,"props.pageProps.checkOutDetails.summary.selectedConfig.dates",null),a=Ft(On(t,"props.pageProps.checkOutDetails.summary.selectedConfig.occupancy[0]",null));return{checkin:()=>{try{if(!Array.isArray(n))return null;const e=n[0];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!Array.isArray(n))return null;const e=n[1];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return a?"number"==typeof a.adults?a.adults:"string"==typeof a.adults?$t(a.adults):null:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return a?"number"==typeof a.children?a.children:"string"==typeof a.children?$t(a.children):null:null}catch(e){return console.error("Error getting children",e),null}}}}}class Ni extends ui{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/reservation/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await un(()=>Bn([".definition-list-wrapper___2kUGk dd"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await un(()=>Bn([".c-payment-card___1_CuQ"]),e=>!e||!e.textContent,10)();if(e){const t=Bn([".price___14pEy.featured___2Dap0"],e),n=pi((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),a=t?.textContent?.replace(/[0-9.,\s]/g,"")??null,r=Bn([".summary___3U0EP .price___14pEy"],e);return{currency:a,gross_total_price:n,net_total_price:n,total_tax_price:pi((r?.textContent??"").replace(/[a-zA-Z\s]/g,""))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=Un([".c-definition-list___21ds4"]);if(e){const t=e[3];if(t)return t.textContent?.toLocaleLowerCase().includes("cance")?"CANCELLED":"BOOKED"}return"BOOKED"}async getQueryParamMap(e){const t=Un([".details-section___2hrKe"]);return{checkin:()=>{try{if(!t?.[1])return null;const e=Bn([".detail___2S67E"],t[1]);return e?.textContent??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t?.[1])return null;const e=(Un([".detail___2S67E"],t[1])||[])[2];return e?.textContent??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{if(!t?.[2])return null;const e=Bn([".capacity___BYiON"],t[2]);return $t(e?.textContent?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{if(!t?.[2])return null;const e=Bn([".capacity___BYiON"],t[2]);return $t(e?.textContent?.match(/\d+[^]*?(\d+)/)?.[1]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Di extends ui{constructor(){super("IBEROSTAR")}shouldHandle(e){return/booking\.iberostar\.com\/Book\/Confirm\.aspx/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await un(()=>Bn(["#cphMain_ctl01_Label1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestName(){const e=await un(()=>Bn(["#ContentPlaceHolder3_lblcodclinombre1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestEmail(){const e=await un(()=>Bn(["#ContentPlaceHolder3_lblcodemail1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPropertyName(){const e=await un(()=>Bn([".hname"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await un(()=>Un(["#Totales div"]),e=>!e||Vt(e),10)(),t=Array.from(e||[]).find(e=>"none"!==e.style.display);if(t){const e=pi((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),n=Bn([".currency"],t);return{currency:n?.textContent?.trim()??null,gross_total_price:e,net_total_price:e,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return Un([".alert-cancelled"])?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Bn(["#reservationData"]);return t?{checkin:()=>{try{const e=Bn([".checkin .fieldvalue"],t);return Er(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Bn([".checkout .fieldvalue"],t);return Er(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bn([".people .fieldvalue"],t);return $t(e?.textContent?.trim()?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}:{checkin:null,checkout:null,adults:null,children:null}}}class Ti extends ui{constructor(){super("SONDER")}shouldHandle(e){return/www\.sonder\.com(?:[a-zA-Z-/]*?)\/bookings\/[a-zA-Z0-9]*?\/confirmations/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=On(e,"props.pageProps.confirmation.guestInfo",null),n=On(t,"firstName",null),a=On(t,"lastName",null);return n||a?`${n}-${a}`:null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"props.pageProps.bookingUniqKey",null))}async getPropertyName(){const e=await this.getProductInfo();return e?`${e?.title} - ${e?.subtitle}`:null}async getPrice(){try{const e=await this.getInfoJSON(),t=On(e,"props.pageProps.confirmation.invoiceInfo",null);if(t){const e=On(t,"total.value",null),n=On(t,"total.currency",null),a=On(t,"lineItems",null),r=pi("string"==typeof e?e.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof n?n:null,gross_total_price:r,net_total_price:r,total_tax_price:pi(Bt(Array.isArray(a)?a?.find(e=>{const t=Ft(e);return!!t&&"taxes"===t.type&&void 0!==t.value})?.value:null))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===On(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getProductInfo(){const e=await this.getInfoJSON();return Ft(On(e,"props.pageProps.confirmation.productInfo",null))??null}async getQueryParamMap(e){const t=await this.getProductInfo();return{checkin:()=>{try{const e=On(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=On(t,"numberOfGuests",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Ri extends ui{constructor(){super("CHOICEHOTELS")}shouldHandle(e){return/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/confirmation/i.test(e)||/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/reservations\/reservation-details/i.test(e)}async getReservationId(){try{const e=await un(()=>Bn([".confirmation-number-heading"]),e=>!e,15)(),t=(e?.textContent?.trim()??"").split(" ");return t[t.length-1].trim()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getGuestName(){try{const e=await un(()=>Bn([".reservation-guest-details .user-name"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting guest name",e),null}}async getPropertyName(){try{const e=await un(()=>Bn(['[data-track-id="BackToPropertyPage"]']),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting property name",e),null}}async getPrice(){try{const e=Bn(['[data-track-id="summaryOfCharges"]']);if(e?.textContent){const t=Bn([".summary-of-charges-total-amount"],e),n=pi(t?.textContent?.trim()||""),a=Bn([".currency-code"]),r=Bn([".taxes-total"]),o=pi(r?.textContent?.trim()||"");return{currency:a?.textContent?.trim().replace(/[()]/g,"")??"",gross_total_price:n,net_total_price:n,total_tax_price:o}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await un(()=>Bn([".booking-summary"]),e=>!e,15)();return{checkin:()=>{try{if(!t)return null;const e=Bn(['[data-track-id="CheckInDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Bn(['[data-track-id="CheckOutDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bn([".occupancy-description"]);return e?$t(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Mi extends ui{constructor(){super("WYNDHAMHOTELS")}shouldHandle(e){return/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/confirm/i.test(e)||/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/view/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Bn(["script"],await un(Bn,e=>!e||!e.textContent,10)([".container.component-spacer"])),t=e?.textContent?.match(/var\s+reservationDataFromAEM\s*=\s*(\{[\s\S]*?\});/),n=function(e,t){let n=e;return t.forEach(e=>{n=function(e,t){const n=new RegExp(`${t}\\s*:\\s*("[^"]*"|\\[[\\s\\S]*?\\]|'[^']*'),?`);return e.replace(n,"")}(n,e)}),n}(t?.[1],["taxList","dateRateMap","checkInTime","checkOutTime"])?.replace(/([a-zA-Z0-9_]+)\s*:/g,'"$1":').replace(/\n/g,"");return t?(this.info=Kt(n||"{}"),this.info):null}catch(e){return console.error("Error getting info",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=On(e,"firstName",null),n=On(e,"lastName",null);return t||n?`${t}-${n}`:null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"confirmationNumber",null))}async getPropertyName(){const e=await this.getInfoJSON();return Bt(On(e,"propertyId",null))}async getPrice(){try{const e=await this.getInfoJSON();if(!e)return null;const t=On(e,"totalCash",null),n=On(e,"subtotal",null),a=On(e,"taxTotal",null),r=On(e,"currencyCode",null),o="string"==typeof t?t.replace(/[^\d.,]/g,""):null,i="string"==typeof n?n.replace(/[^\d.,]/g,""):null,s="string"==typeof a?a.replace(/[^\d.,]/g,""):null,c="string"==typeof r?r:null,l=pi(o);return{currency:c,gross_total_price:l,net_total_price:pi(i),total_tax_price:pi(s)}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON();return{checkin:()=>{try{const e=On(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=On(t,"adults",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=On(t,"children",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting children",e),null}}}}}class $i extends ui{constructor(){super("OYOROOMS")}shouldHandle(e){return/oyorooms\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getBookingData();return Bt(On(e,"invoice",null))}async getGuestName(){const e=await this.getBookingData(),t=On(e,"guest_name",null);if("string"==typeof t)return t;const n=On(e,"guest.name",null);return"string"==typeof n?n:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getBookingData(),t=On(e,"guest.email",null);if("string"==typeof t)return t;const n=On(e,"guest_email",null);return"string"==typeof n?n:null}async getPropertyName(){const e=await this.getBookingData(),t=On(e,"get_alias_name",null);return"string"!=typeof t?null:t}async getBookingData(){const e=await this.getInfoJSON();return Ft(On(e,"bookingDetailPage.bookingData.data",null))??null}async getInfoJSON(){if(this.info)return this.info;try{const e=Un(["script"]),t=Array.from(e).find(e=>/window\.__PRELOADED_STATE__\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/window\.__PRELOADED_STATE__\s*=\s*(\{[\s\S]*?\}\n)/);if(n){const e=n[1];return this.info=Kt(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getPrice(){try{const e=await this.getBookingData();if(!e)return null;const t=Bt(e.total_amount_excluding_wizard),n=Bt(e.final_amount_excluding_oyo_money),a=Bt(e.total_tariff);return{currency:"string"==typeof e.currency_symbol?e.currency_symbol:null,gross_total_price:pi(t)??pi(n),net_total_price:pi(a),total_tax_price:0}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getBookingData();return"cancelled"===e?.morphedStatus?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getBookingData();return t?{checkin:()=>{try{return"string"!=typeof t.checkin?null:t.checkin}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return"string"!=typeof t.checkout?null:t.checkout}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return"number"==typeof t.no_of_adults?t.no_of_adults:"string"==typeof t.no_of_adults?$t(t.no_of_adults):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return"number"==typeof t.no_of_children?t.no_of_children:"string"==typeof t.no_of_children?$t(t.no_of_children):null}catch(e){return console.error("Error getting children",e),null}}}:{checkin:null,checkout:null,adults:null,children:null}}}class Bi extends ui{constructor(){super("CITIZENM")}shouldHandle(e){return/citizenm\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirmation/i.test(e)}async getReservationId(){try{return new URL(window.location.href).searchParams.get("bookingCode")??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=await un(Bn,e=>!e,10)(['[data-testid="booking-confirmation-stay-price-total-amount"']);if(e?.textContent){const t=e.textContent.trim(),n=t.replace(/[0-9.,]/g,"").trim(),a=_i(n)?n:ji(n),r=pi(t);return{currency:a,gross_total_price:r,net_total_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await un(Bn,e=>!e,10)(['[data-testid="booking-confirmation-info-hotel"] h1']);return e?.textContent?.trim()??null}async getGuestName(){const e=await un(Bn,e=>!e,10)(['[data-testid="booking-confirmation-booker-firstname"] .value']),t=await un(Bn,e=>!e,10)(['[data-testid="booking-confirmation-booker-lastname"] .value']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await un(Bn,e=>!e,10)(['[data-testid="booking-confirmation-booker-email"] .value']);return e?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:async()=>{try{const e=await un(Bn,e=>!e,10)(['[name="startdate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:async()=>{try{const e=await un(Bn,e=>!e,10)(['[name="enddate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkout",e),null}},adults:async()=>{try{const e=await un(Bn,e=>!e,10)([".rd-guests .value"]);return $t(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Ui extends ui{constructor(){super("HOTEL-BB")}shouldHandle(e){return/hotel-bb\.com(?:[a-zA-Z0-9-\/]*?)\/checkout-confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"transactionId",null))}async getInfoJSON(){try{if(this.info)return this.info;const e=await un(()=>Bn(['[data-drupal-selector="drupal-settings-json"]']),e=>!e||!e.textContent,10)();return this.info=Kt(e?.textContent||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getRoomData(){const e=await this.getInfoJSON(),t=Ft(On(e,"bookingData.rooms",null))??{},n=Object.values(t);return(n[0]?Ft(n[0]):null)??null}async getPrice(){try{const e=await this.getInfoJSON(),t=On(e,"bookingData.totalAmount",null);if(!t)return null;const n=await this.getRoomData(),a=t||On(n,"room_info.price"),r=On(e,"bbh_datalayer_ga4.page_data.currency",null)||On(n,"room_info.currency_code",null),o="string"==typeof a?pi(a):null;return{currency:"string"==typeof r?r:null,gross_total_price:o,net_total_price:o,total_tax_price:pi(Bt(n?.cityTaxAmount))}}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=On(e,"bookingData.hotelName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getRoomData(),t=e?.occupant||e?.occupants_title;if("string"==typeof t)return t;const n=await un(Bn,e=>!e,10)([".confirmation__txt-box h1"]);return n?.textContent?.trim().split(",")[0]??null}async getGuestEmail(){const e=await this.getRoomData(),t=e?.booker_email||e?.occupant_email;if("string"==typeof t)return t;const n=await un(Bn,e=>!e,10)([".confirmation__txt-box strong"]);return n?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=On(t,"bbh_datalayer_ga4.page_data",null),a=await this.getRoomData(),r=Ft(On(a,"room_info",null));return{checkin:()=>{try{const e=On(n,"booking_checkin_date",null);if("string"!=typeof e)return null;const[t,a,r]=e.split("/");return`${r}-${a}-${t}`}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(n,"booking_checkout_date",null);if("string"!=typeof e)return null;const[t,a,r]=e.split("/");return`${r}-${a}-${t}`}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=r?.adultsCount??a?.guestCount??null;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=r?.childrenCount??null;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class Vi extends ui{constructor(){super("ZENITHOTELES")}shouldHandle(e){return/zenithoteles\.com(?:[a-zA-Z0-9-\/]*?)\/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoComponent();if(e)return e.getAttribute("data-booking-code")??null;const t=window.location.href.match(/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9]+)\//);return t?t[1]:null}async getPropertyName(){const e=await this.getInfoComponent(),t=Ht(e?.getAttribute("data-hotel-info")||"{}");return Bt(On(t,"hotelName",null))}async getGuestName(){const e=Bn([".voucher__client .voucher__client-info-value"]);return e?.textContent?.trim()??null??null}async getGuestEmail(){const e=Un([".voucher__client .voucher__client-info-value"]);return e?.[1]?.textContent?.trim()??null??null}async getPrice(){try{const e=await this.getInfoJSON();if(e){const t=Bt(On(e,"currency",null)),n=Bt(On(e,"value",null)),a=Bt(On(e,"tax",null)),r=pi(n),o=pi(a);return{currency:t,net_total_price:null!==r&&null!==o?r-o:null,gross_total_price:r,total_tax_price:o}}const t=Bn([".bookingCart"]);let n=Bn([".bookingCart"])?.children[0],a=n?.getAttribute("data-currency")?.trim()??null;const r=t?.children[1];return{currency:a?ji(a):null,net_total_price:pi(r?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoComponent(){return await un(Bn,e=>!e||!e.getAttribute("data-ga4-event-data"),10)(["#roi-voucher-trackings"])}async getInfoJSON(){try{if(this.info)return this.info;const e=await this.getInfoComponent();return this.info=Kt(e?.getAttribute("data-ga4-event-data")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=On(t,"items",null);if(n&&Array.isArray(n)&&n[0]){const e=Ft(n[0]);if(e){const t="string"==typeof e.item_category2?e.item_category2.split("-"):null,n=e.item_category3,a=e.item_category4,r=t?t[0]:null,o=t?t[1]:null;return{checkin:"string"==typeof n?n:null,checkout:"string"==typeof a?a:null,adults:"string"==typeof r?$t(r):null,children:"string"==typeof o?$t(o):null}}}return{checkin:null,checkout:null,adults:null,children:null}}}class Fi extends ui{constructor(){super("RADISSON"),this.parserType="html"}shouldHandle(e){return/radissonhotels\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/confirmation/i.test(e)||/radisson-confirmation/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).searchParams.get("bookingId")??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await un(async()=>Bn(['[name="bookingId"]']),e=>!e,10)();return e?e.getAttribute("value"):null}async getPropertyName(){const e=Bn(['[data-test="propertyName"]']);return e?.textContent?.trim()??null}async getGuestName(){const e=Bn(['[data-test="first-name"]']),t=Bn(['[data-test="last-name"]']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=Bn(['[data-test="email"]']);return e?.textContent?.trim()??null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Bn(['[data-testid="people"]']),n=t?.textContent?.replace(/\D/g,"");return{checkin:null,checkout:null,adults:$t(n??""),children:null}}}class qi extends ui{constructor(){super("NOVASOL")}shouldHandle(e){return/checkout\.novasol\.com(?:[a-zA-Z0-9-\/]*?)\/booking-complete\?/i.test(e)}async getReservationId(){try{const e=await this.getInfoJSON();return Bt(On(e,"bookingDetails.bookingId",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){const e=await super.getInfoJSON();return Ft(On(e,"props.pageProps",null))??null}async getPropertyName(){const e=await this.getInfoJSON();return Bt(On(e,"property.propertyCode",null))??Bt(On(e,"propertyUnitCode",null))}async getGuestName(){const e=await this.getInfoJSON(),t=On(e,"customerSession.customer",null),n=On(t,"firstName",null),a=On(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=On(e,"customerSession.customer.email",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getInfoJSON();return Bt(On(e,"bookingDetails.bookingId",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=On(e,"customerSession.initialQuote.totalCost",null);if(!t)return null;const n=On(t,"value",null),a=On(t,"currency",null),r=pi(Bt(n));return{currency:"string"==typeof a?a:null,gross_total_price:r,net_total_price:r}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=new URL(window.location.href);return{checkin:()=>{try{const e=On(t,"bookingDetails.startDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("start")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(t,"bookingDetails.endDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("end")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=On(t,"bookingDetails.numberOfAdults",null);return"number"==typeof e?e:$t("string"==typeof e?e:n.searchParams.get("adult")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=On(t,"bookingDetails.numberOfChildren",null);return"number"==typeof e?e:$t("string"==typeof e?e:n.searchParams.get("child")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Hi extends ui{reservationInfo=null;constructor(){super("BOOKING")}shouldHandle(e){return/secure\.booking\.com\/confirmation(?:\.[a-zA-Z-]{2,5})*\.html/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=Bn([".js-pb-guest-details__name"]);if(!e)return null;const t=e.textContent.trim();return 0===t.length?null:t}async getGuestEmail(){const e=await this.getReservationInfo(),t=On(e,"bookerInfo.bookerEmail",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getReservationInfo();return Bt(On(e,"identity.reservationId",null))}async getPropertyName(){const e=await this.findJSONPartFromRegex(/^PostBookingProperty:{/),t=On(e,"url",null);return"string"!=typeof t?null:Ho(t.replace(".html",""))??null}async getPrice(){try{const e=await this.getReservationInfo(),t=e?.price;if(t){const n=On(t,"userTotalPretty",null),a=On(e,"context.selectedCurrency",null),r=pi("string"==typeof n?n.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof a?a:null,gross_total_price:r,net_total_price:r,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getReservationInfo(){try{if(this.reservationInfo)return this.reservationInfo;const e=await this.findJSONPartFromRegex(/^PostBookingReservation:{/);return this.reservationInfo=e,this.reservationInfo}catch(e){return console.error("Error getting reservation info",e),null}}async findJSONPartFromRegex(e){const t=await this.getInfoJSON();if(!t)return null;const n=qt(t,e);return n?Ft(n)??null:null}async getInfoJSON(){if(this.info)return this.info;const e=await qn(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]'],11);return this.info=e,this.info}async getQueryParamMap(e){const t=await this.getReservationInfo(),n=Ft(On(t,"bookedOccupancyInfo",null));return{checkin:()=>{try{const e=On(t,"reservationCheckinDate.rawDate",null);return"number"!=typeof e?null:Ki(e)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=On(t,"reservationCheckoutDate.rawDate",null);return"number"!=typeof e?null:Ki(e)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=n?.numberOfAdults;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=n?.numberOfChildren;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}function Ki(e){if(!Number.isFinite(e))return null;const t=new Date(1e3*e);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${dn(t.getMonth()+1)}-${dn(t.getDate())}`}class Gi extends ui{constructor(){super("EUROSTARSHOTELS"),this.parserType="html"}shouldHandle(e){return/eurostarshotels\.com(?:[^]*?)#confirmation\//i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.searchParams.get("id_hotel"),n=e.hash.split("/").pop();return t&&n?`${t}-${n}`:null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return null}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Bn(['[data-testid="people"]']);return{checkin:null,checkout:null,adults:$t(t?.textContent?.replace(/\D/g,"")??null??""),children:null}}}class Yi extends ui{constructor(){super("DIRECT_BOOK"),this.parserType="html"}shouldHandle(e){return/direct-book\.com\/properties\/[a-zA-Z0-9-]+\/reservations\/[a-zA-Z0-9-]+/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await un(()=>Bn(['[data-cy="reservation-reference-id"]']),e=>!e,10)();if(!e)return null;const t=e.textContent;if(!t)return null;const n=t.split(":")[1];return n?n.replace("#","").replace("\n","").trim()??null:null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Qi extends ui{constructor(){super("BESTWESTERN"),this.parserType="html"}shouldHandle(e){return/bestwestern\.[.a-z]{2,7}(?:[a-zA-Z_\/]*?)\/reservations\/reservation-details\.(thankyou|rewards)\.html/i.test(e)}async getReservationId(){try{const e=await un(Un,e=>!On(e,"[1].textContent",null))([".confirmationNumberContainer div"]),t=e?.length?e[1]?.textContent:null;return t?t.trim().replace(/\s/g,"").replace("#",""):null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Wi extends ui{constructor(){super("GETDIRECTO"),this.parserType="html"}shouldHandle(e){return/secure\.getdirecto\.com\/confirmation\//i.test(e)}async getBookingReference(){try{const e=await un(Bn,e=>!On(e,"textContent",null))([".confirmation-bookingId span"]),t=e?.textContent;return t??null}catch(e){return console.error("Error getting booking reference",e),null}}async getReservationId(){try{const e=new URL(window.location.href).pathname.split("/").pop();if(e)return e}catch(e){console.error("Error getting reservation id from URL",e)}return await this.getBookingReference()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ji extends ui{constructor(){super("ADAGIO_CITY"),this.parserType="html"}shouldHandle(e){return/adagio-city.com(?:[a-zA-Z\/]*?)\/booking\/confirmation\/[a-zA-Z0-9-_]+/i.test(e)}async getReservationId(){try{const e=await un(()=>Bn([".confirmation-info-top dd"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Zi extends ui{constructor(){super("TEMU")}shouldHandle(e){return/www\.temu\.com\/bgt_payment_success.html/i.test(e)}async getReservationId(){const e=await this.getOrderInfo();if(!e)return null;const t=On(e,"parentOrderSn",null);return"string"!=typeof t?(console.warn("parentOrderSn not found or not a string in orderInfo:",e),null):t}async getBookingReference(){const e=await this.getOrderInfo();if(!e)return null;const t=On(e,"tradePaySn",null);return"string"!=typeof t?(console.warn("tradePaySn not found or not a string in orderInfo:",e),null):t}async getPrice(){const e=await this.getOrderInfo();if(!e)return null;const t=On(e,"tradePayAmount",null),n=On(e,"cur",null),a="number"==typeof t?t:null,r="string"==typeof n?n:null;return null!==a&&null!==r||console.warn("Price information incomplete in orderInfo:",e),{currency:r,gross_total_price:a,net_total_price:null,total_tax_price:null}}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){const e=await this.getRawData(),t=On(e,"store.orderInfo.sendMessageInfo.emailInfo.email",null);return"string"!=typeof t?null:t}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}cachedRawData=null;async getRawData(){if(this.cachedRawData)return this.cachedRawData;const e=await async function(){try{const e=await async function(){const e=await un(()=>{const e=Un(["script"]);if(!e)return[];const t=[...e].filter(e=>e.textContent.includes(Xi));return 0===t.length?[]:t},e=>0===e.length,10)();return 0===e.length?null:(e.length>1&&console.warn("Multiple scripts with rawData found:",e),e[0]??null)}();if(!e)return null;const t=e.textContent;if(!t)return console.warn("Script with rawData has no text content:",e),null;const n=t.indexOf(Xi);if(-1===n)return console.warn("rawData assignment not found in script content:",t),null;const a=t.indexOf(es,n);if(-1===a)return console.warn("rawData end not found in script content:",t),null;const r=t.substring(n+Xi.length,a);try{return Kt(r)}catch(e){return console.error("Error parsing rawData JSON:",e,"Raw string:",r),null}}catch(e){return console.error("Error getting rawData",e),null}}();return this.cachedRawData=e,e}async getOrderInfo(){const e=await this.getRawData(),t=On(e,"store.orderInfo.parentOrderList",null);if(!Array.isArray(t)||0===t.length)return console.warn("No parent order list found in rawData:",e),null;const n=t[0];if(!n)return console.warn("No parent order found in rawData:",e),null;if(t.length>1)return console.warn("Multiple parent orders found in rawData:",t),null;return Ft(n)||(console.warn("Invalid orderInfo structure:",n),null)}}const Xi="window.rawData=",es=";document.dispatchEvent";var ts=n(340);class ns extends ts.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const as=new ns,rs=new class{trackers=[];activeTracker=null;constructor(){this.trackers=[new hi,new mi,new fi,new xi,new zi,new Si,new Ei,new Oi,new Li,new Pi,new Ii,new Ni,new Di,new Ti,new Ri,new Mi,new $i,new Bi,new Ui,new Vi,new Fi,new qi,new Hi,new Gi,new Yi,new Qi,new Wi,new Ji,new Zi]}async initialize(e){try{const t=this.getTrackerForUrl(e);if(t&&await t.isReservation()){const n=await t.getReservationDetails();if(!n)return void console.error("Tracker identified reservation but details are missing",{url:e,partner:t.partner_name});const a=await Et.getSessionId(),r=await yr();"html"===t.parserType?Et.sendConversionHTMLEvent({...n,session_id:a,user_id:r}):Et.sendConversionEvent({...n,session_id:a,user_id:r}),as.emit("reservationDetails",n)}}catch(e){console.error("Error handling reservation tracker",e)}}getTrackerForUrl(e){if(this.activeTracker&&this.activeTracker.shouldHandle(e))return this.activeTracker;for(const t of this.trackers)if(t.shouldHandle(e))return this.activeTracker=t,t;return this.activeTracker=null,null}},os={utm_source:"getdirecto",utm_medium:"extension"};function is(e){const t=Ur(e);for(const[e,n]of Object.entries(os))t.searchParams.set(e,n);return t.toString()}function ss(e){try{const t=new URL(e).hostname.toLowerCase();return"getdirecto.com"===t||t.endsWith(".getdirecto.com")}catch{return!1}}function cs(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function ls(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new U;++t<n;)this.add(e[t])}ls.prototype.add=ls.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ls.prototype.has=function(e){return this.__data__.has(e)};const us=ls,ds=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1},ps=function(e,t){return e.has(t)},hs=function(e,t,n,a,r,o){var i=1&n,s=e.length,c=t.length;if(s!=c&&!(i&&c>s))return!1;var l=o.get(e),u=o.get(t);if(l&&u)return l==t&&u==e;var d=-1,p=!0,h=2&n?new us:void 0;for(o.set(e,t),o.set(t,e);++d<s;){var m=e[d],f=t[d];if(a)var g=i?a(f,m,d,t,e,o):a(m,f,d,e,t,o);if(void 0!==g){if(g)continue;p=!1;break}if(h){if(!ds(t,function(e,t){if(!ps(h,t)&&(m===e||r(m,e,n,a,o)))return h.push(t)})){p=!1;break}}else if(m!==f&&!r(m,f,n,a,o)){p=!1;break}}return o.delete(e),o.delete(t),p},ms=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,a){n[++t]=[a,e]}),n},fs=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var gs=u?u.prototype:void 0,bs=gs?gs.valueOf:void 0;var ys=Object.prototype.hasOwnProperty;var ks="[object Arguments]",vs="[object Array]",ws="[object Object]",js=Object.prototype.hasOwnProperty;const _s=function(t,n,a,r,o,i){var s=ne(t),c=ne(n),l=s?vs:st(t),u=c?vs:st(n),d=(l=l==ks?ws:l)==ws,p=(u=u==ks?ws:u)==ws,h=l==u;if(h&&ie(t)){if(!ie(n))return!1;s=!0,d=!1}if(h&&!d)return i||(i=new F),s||be(t)?hs(t,n,a,r,o,i):function(t,n,a,r,o,i,s){switch(a){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=n.byteLength||!i(new lt(t),new lt(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return e(+t,+n);case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var c=ms;case"[object Set]":var l=1&r;if(c||(c=fs),t.size!=n.size&&!l)return!1;var u=s.get(t);if(u)return u==n;r|=2,s.set(t,n);var d=hs(c(t),c(n),r,o,i,s);return s.delete(t),d;case"[object Symbol]":if(bs)return bs.call(t)==bs.call(n)}return!1}(t,n,l,a,r,o,i);if(!(1&a)){var m=d&&js.call(t,"__wrapped__"),f=p&&js.call(n,"__wrapped__");if(m||f){var g=m?t.value():t,b=f?n.value():n;return i||(i=new F),o(g,b,a,r,i)}}return!!h&&(i||(i=new F),function(e,t,n,a,r,o){var i=1&n,s=qe(e),c=s.length;if(c!=qe(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:ys.call(t,u)))return!1}var d=o.get(e),p=o.get(t);if(d&&p)return d==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var m=i;++l<c;){var f=e[u=s[l]],g=t[u];if(a)var b=i?a(g,f,u,t,e,o):a(f,g,u,e,t,o);if(!(void 0===b?f===g||r(f,g,n,a,o):b)){h=!1;break}m||(m="constructor"==u)}if(h&&!m){var y=e.constructor,k=t.constructor;y==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof k&&k instanceof k||(h=!1)}return o.delete(e),o.delete(t),h}(t,n,a,r,o,i))},xs=function e(t,n,a,r,o){return t===n||(null==t||null==n||!W(t)&&!W(n)?t!=t&&n!=n:_s(t,n,a,r,e,o))},Cs=function(e){return e==e&&!y(e)},zs=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}},Ss=function(e){var t=function(e){for(var t=Se(e),n=t.length;n--;){var a=t[n],r=e[a];t[n]=[a,r,Cs(r)]}return t}(e);return 1==t.length&&t[0][2]?zs(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,a){var r=n.length,o=r,i=!a;if(null==e)return!o;for(e=Object(e);r--;){var s=n[r];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++r<o;){var c=(s=n[r])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var d=new F;if(a)var p=a(l,u,c,e,t,d);if(!(void 0===p?xs(u,l,3,a,d):p))return!1}}return!0}(n,e,t)}},Es=function(e,t){return null!=e&&t in Object(e)},Os=function(e,t){return null!=e&&function(e,t,n){for(var a=-1,r=(t=zn(t,e)).length,o=!1;++a<r;){var i=Sn(t[a]);if(!(o=null!=e&&n(e,i)))break;e=e[i]}return o||++a!=r?o:!!(r=null==e?0:e.length)&&le(r)&&ce(i,r)&&(ne(e)||te(e))}(e,t,Es)},Ls=function(e){return fn(e)?(t=Sn(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return En(t,e)}}(e);var t},As=function(e){return"function"==typeof e?e:null==e?Nn:"object"==typeof e?ne(e)?(t=e[0],n=e[1],fn(t)&&Cs(n)?zs(Sn(t),n):function(e){var a=On(e,t);return void 0===a&&a===n?Os(e,t):xs(n,a,3)}):Ss(e):Ls(e);var t,n},Ps=function(e,t){if(e!==t){var n=void 0!==e,a=null===e,r=e==e,o=pn(e),i=void 0!==t,s=null===t,c=t==t,l=pn(t);if(!s&&!l&&!o&&e>t||o&&i&&c&&!s&&!l||a&&i&&c||!n&&c||!r)return 1;if(!a&&!o&&!l&&e<t||l&&n&&r&&!a&&!o||s&&n&&r||!i&&r||!c)return-1}return 0},Is=function(e,t,n){t=t.length?wn(t,function(e){return ne(e)?function(t){return En(t,1===e.length?e[0]:e)}:e}):[Nn];var a=-1;t=wn(t,de(As));var r=function(e,t){var n=-1,a=ze(e)?Array(e.length):[];return In(e,function(e,r,o){a[++n]=t(e,r,o)}),a}(e,function(e,n,r){return{criteria:wn(t,function(t){return t(e)}),index:++a,value:e}});return function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(r,function(e,t){return function(e,t,n){for(var a=-1,r=e.criteria,o=t.criteria,i=r.length,s=n.length;++a<i;){var c=Ps(r[a],o[a]);if(c)return a>=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)})},Ns=({})=>(0,Qr.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Qr.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"white"}),(0,Qr.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"white"}),(0,Qr.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"white"}),(0,Qr.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"white"})]}),Ds=({})=>(0,Qr.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Qr.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"#000141"})]}),Ts=({className:e,style:t})=>(0,Qr.jsxs)("svg",{width:"100%",height:"100%",className:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,children:[(0,Qr.jsxs)("g",{clipPath:"url(#clip0_38_1686)",children:[(0,Qr.jsx)("path",{d:"M25.0747 27.7915C23.6506 26.5506 22.2436 25.2944 20.8003 24.0707C20.5503 23.8588 20.388 23.8645 20.1474 24.0344C19.4793 24.5041 18.7366 24.8725 17.9654 25.1875C16.3942 25.829 14.7314 26.0924 13.0075 26.0924C12.2573 26.0924 11.5051 26.0905 10.7548 26.0905C10.5907 26.0905 10.457 26.2089 10.457 26.354V31.728C10.457 31.8731 10.5907 31.9914 10.7548 31.9914C11.6101 31.9914 12.4634 31.9953 13.3187 31.9991C14.2255 32.0029 15.1323 31.9628 16.0124 31.8368C17.5988 31.6096 19.1528 31.2354 20.6285 30.6379C22.2264 29.9907 23.7079 29.1908 25.0633 28.2019C25.279 28.0454 25.2714 27.9633 25.0767 27.7934L25.0747 27.7915Z",fill:"#FDC307"}),(0,Qr.jsx)("path",{d:"M13.0791 5.91629C14.1825 5.92774 15.2898 6.00601 16.3417 6.31146C17.5654 6.66655 18.7872 7.05218 19.8276 7.76426C19.9422 7.84254 20.0605 7.91508 20.1617 8.00481C20.3431 8.16708 20.4862 8.14608 20.6523 7.99335C20.8452 7.8139 21.038 7.63254 21.2403 7.46072C22.5175 6.37065 23.7966 5.28248 25.0814 4.19813C25.236 4.06831 25.2914 3.99386 25.0814 3.84304C24.3903 3.34286 23.6801 2.86942 22.9222 2.45133C20.1293 0.906895 17.0747 0.0764508 13.7931 0.0306332C12.7793 0.0153607 11.7675 0.00772438 10.7538 0.00390625C10.5877 0.00390625 10.4541 0.122268 10.4541 0.267358V5.6452C10.4541 5.79029 10.5877 5.90865 10.7519 5.90865C11.527 5.90865 12.3021 5.90865 13.0772 5.91438L13.0791 5.91629Z",fill:"#FDC307"}),(0,Qr.jsx)("path",{d:"M7.35178 0H1.31722C1.12631 0 0.97168 0.137453 0.97168 0.305451V31.6829C0.97168 31.8509 1.12631 31.9883 1.31722 31.9883H7.35178C7.54269 31.9883 7.69732 31.8509 7.69732 31.6829V0.305451C7.69732 0.137453 7.54269 0 7.35178 0Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M27.1757 5.75577C27.7905 6.37622 28.3441 7.03485 28.8271 7.74311C29.5334 8.77782 30.0622 9.87936 30.5109 11.021C30.95 12.1378 31.1657 13.2813 31.3108 14.4497C31.3929 15.1255 31.475 15.7994 31.4349 16.4771C31.3146 18.5656 30.8373 20.5797 29.8713 22.5002C29.5258 23.1894 29.1325 23.8633 28.6896 24.4914C28.2467 25.1175 27.7733 25.7571 27.1013 26.3088C26.7538 25.9881 26.4102 25.6616 26.0551 25.3447C24.8829 24.3004 23.7108 23.2581 22.531 22.2215C22.384 22.0917 22.3687 22.0306 22.51 21.8721C23.3156 20.971 23.854 19.9401 24.2434 18.8539C24.6653 17.6779 24.8505 16.4561 24.6844 15.2362C24.5756 14.4306 24.4515 13.6116 24.1308 12.8289C23.8062 12.0347 23.3881 11.2902 22.8842 10.58C22.7562 10.4005 22.6455 10.2058 22.4852 10.0531C22.3248 9.89845 22.3362 9.81063 22.5023 9.66936C23.6745 8.67283 24.8562 7.68775 25.9998 6.6664C26.351 6.35331 26.7195 6.04404 27.1013 5.75195C27.1261 5.75195 27.1509 5.75577 27.1757 5.75577Z",fill:"#FDC307"})]}),(0,Qr.jsx)("defs",{children:(0,Qr.jsx)("clipPath",{id:"clip0_38_1686",children:(0,Qr.jsx)("rect",{width:"32",height:"32",fill:"white"})})})]}),Rs=({style:e})=>(0,Qr.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e,children:(0,Qr.jsx)("path",{d:"M5.50008 14.6666V7.33331M2.16675 8.66665V13.3333C2.16675 14.0697 2.7637 14.6666 3.50008 14.6666H12.4509C13.4381 14.6666 14.2776 13.9464 14.4277 12.9708L15.1456 8.30409C15.332 7.09258 14.3946 5.99998 13.1689 5.99998H10.8334C10.4652 5.99998 10.1667 5.7015 10.1667 5.33331V2.97721C10.1667 2.06931 9.43075 1.33331 8.52286 1.33331C8.30631 1.33331 8.11007 1.46084 8.02212 1.65873L5.67604 6.93741C5.56904 7.17816 5.33029 7.33331 5.06683 7.33331H3.50008C2.7637 7.33331 2.16675 7.93027 2.16675 8.66665Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})}),Ms=({className:e=""})=>(0,Qr.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,Qr.jsx)("path",{d:"M10.3602 7.52685L6.58682 3.76019C6.52484 3.6977 6.45111 3.64811 6.36987 3.61426C6.28863 3.58041 6.20149 3.56299 6.11348 3.56299C6.02548 3.56299 5.93834 3.58041 5.8571 3.61426C5.77586 3.64811 5.70213 3.6977 5.64015 3.76019C5.51598 3.8851 5.44629 4.05406 5.44629 4.23019C5.44629 4.40631 5.51598 4.57528 5.64015 4.70019L8.94015 8.03352L5.64015 11.3335C5.51598 11.4584 5.44629 11.6274 5.44629 11.8035C5.44629 11.9796 5.51598 12.1486 5.64015 12.2735C5.70189 12.3365 5.77552 12.3866 5.85677 12.421C5.93802 12.4553 6.02528 12.4732 6.11348 12.4735C6.20169 12.4732 6.28894 12.4553 6.37019 12.421C6.45144 12.3866 6.52507 12.3365 6.58682 12.2735L10.3602 8.50685C10.4278 8.44443 10.4818 8.36866 10.5188 8.28433C10.5557 8.19999 10.5748 8.10892 10.5748 8.01685C10.5748 7.92479 10.5557 7.83372 10.5188 7.74938C10.4818 7.66505 10.4278 7.58928 10.3602 7.52685V7.52685Z",fill:"currentColor"})}),$s=({className:e="",style:t={}})=>(0,Qr.jsxs)("svg",{width:"29",height:"24",viewBox:"0 0 29 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,style:t,children:[(0,Qr.jsx)("path",{d:"M0.81897 1.81898C1.34335 1.29459 2.05456 1 2.79615 1H25.1654C25.9069 1 26.6182 1.29459 27.1425 1.81898C27.6669 2.34335 27.9615 3.05458 27.9615 3.79614V8.78571C27.9615 9.11857 27.6886 9.38196 27.3634 9.45315C26.8451 9.56668 26.3654 9.82636 25.9843 10.2074C25.4599 10.7318 25.1654 11.443 25.1654 12.1846C25.1654 12.9262 25.4599 13.6374 25.9843 14.1618C26.3654 14.5428 26.8451 14.8025 27.3634 14.9161C27.6886 14.9873 27.9615 15.2506 27.9615 15.5835V20.5731C27.9615 21.3146 27.6669 22.0259 27.1425 22.5503C26.6182 23.0746 25.9069 23.3692 25.1654 23.3692H2.79615C2.05456 23.3692 1.34335 23.0746 0.81897 22.5503C0.294594 22.0259 0 21.3146 0 20.5731V15.5835C0 15.2506 0.272938 14.9873 0.598128 14.9161C1.11644 14.8025 1.59613 14.5428 1.97717 14.1618C2.50156 13.6374 2.79615 12.9262 2.79615 12.1846C2.79615 11.443 2.50156 10.7318 1.97717 10.2074C1.59613 9.82636 1.11644 9.56668 0.598128 9.45315C0.272938 9.38196 0 9.11857 0 8.78571V3.79614C0 3.05458 0.294594 2.34335 0.81897 1.81898Z",fill:"#FDC307"}),(0,Qr.jsx)("path",{d:"M27.789 1.17254L27.7889 1.17252C27.3584 0.741918 26.7743 0.5 26.1654 0.5H3.79615C3.18717 0.5 2.60314 0.741915 2.17252 1.17253C1.74192 1.60314 1.5 2.18719 1.5 2.79614V7.78571C1.5 7.80892 1.50815 7.83953 1.5422 7.87591C1.57863 7.91484 1.63663 7.94973 1.70505 7.96471L1.70512 7.96473C2.31604 8.09855 2.88153 8.40465 3.33075 8.85391C3.94889 9.47202 4.29615 10.3104 4.29615 11.1846C4.29615 12.0588 3.9489 12.8972 3.33075 13.5153C2.88153 13.9646 2.31604 14.2707 1.70512 14.4045L1.70505 14.4045C1.63663 14.4195 1.57863 14.4544 1.5422 14.4933C1.50815 14.5297 1.5 14.5603 1.5 14.5835V19.5731C1.5 20.182 1.74191 20.7661 2.17251 21.1967C2.60313 21.6273 3.18718 21.8692 3.79615 21.8692H26.1654C26.7743 21.8692 27.3584 21.6273 27.789 21.1967C28.2196 20.7661 28.4615 20.182 28.4615 19.5731V14.5835C28.4615 14.5603 28.4534 14.5297 28.4193 14.4933C28.3829 14.4544 28.3249 14.4195 28.2565 14.4045L28.2564 14.4045C27.6455 14.2707 27.08 13.9646 26.6308 13.5153C26.6308 13.5153 26.6308 13.5153 26.6308 13.5153M27.789 1.17254L26.9843 9.20744C26.4599 9.73178 26.1654 10.443 26.1654 11.1846C26.1654 11.9262 26.4599 12.6374 26.9843 13.1618L26.6308 13.5153M27.789 1.17254C28.2196 1.60315 28.4615 2.1872 28.4615 2.79614V7.78571C28.4615 7.8089 28.4534 7.83952 28.4193 7.87591C28.3829 7.91484 28.3249 7.94974 28.2565 7.96471L28.2564 7.96473C27.6455 8.09855 27.08 8.40462 26.6308 8.85387M27.789 1.17254L26.6308 8.85387M26.6308 13.5153C26.0126 12.8972 25.6654 12.0588 25.6654 11.1846C25.6654 10.3104 26.0126 9.47204 26.6308 8.85391M26.6308 13.5153V8.85391M26.6308 8.85391C26.6308 8.8539 26.6308 8.85388 26.6308 8.85387M26.6308 8.85391L26.6308 8.85387",fill:"#000141",stroke:"#FDC307"}),(0,Qr.jsx)("path",{d:"M15.779 12.7709C14.4908 14.4694 13.203 16.1677 11.9214 17.8705C11.7811 18.0567 11.6186 18.2124 11.4182 18.3158C11.2155 18.4204 10.9905 18.4627 10.7403 18.4463C10.5788 18.4356 10.4148 18.438 10.2381 18.4406L10.2341 18.4407C10.0853 18.4429 9.92771 18.4453 9.76896 18.4381C9.60837 18.4307 9.41512 18.3864 9.25901 18.2838C9.10235 18.1815 9.00935 18.0237 9.00066 17.8415C8.99252 17.6697 9.06061 17.5059 9.16241 17.3695C9.42982 17.011 9.70024 16.6551 9.9699 16.3003L9.98153 16.285L9.98236 16.2839L9.98485 16.2806L9.98696 16.2778C10.0951 16.1355 10.2031 15.9934 10.3109 15.8512L18.1623 5.48965C18.2352 5.39339 18.3086 5.29773 18.3815 5.20279C18.5489 4.98468 18.7132 4.77051 18.8699 4.55174C18.9944 4.37797 19.1449 4.22651 19.3342 4.12598C19.5267 4.02368 19.7434 3.98255 19.9842 4.00675C20.0696 4.01527 20.159 4.01333 20.2679 4.01057C20.3151 4.00935 20.3672 4.00802 20.4187 4.00802L20.723 4.00824L21.0269 4.00841C21.2472 4.00841 21.5392 4.06498 21.697 4.36928C21.776 4.52151 21.7838 4.67319 21.7438 4.8128C21.7075 4.93979 21.6345 5.04558 21.5753 5.12352C20.3497 6.73933 19.1249 8.35589 17.9002 9.97239L17.6144 10.3496L17.6099 10.3556L17.036 11.1129C16.6321 11.646 16.228 12.1788 15.824 12.7116L15.7813 12.7678L15.779 12.7709Z",fill:"#FDC307"}),(0,Qr.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.06166 5.59643C6.964 6.35766 7.00404 7.81567 7.03529 8.21069C7.12611 9.36352 7.6183 10.2209 8.58998 10.699C9.23256 11.0149 9.90736 11.0481 10.5919 10.9543C11.9122 10.7742 12.8683 9.73754 12.9601 8.30151C13.0158 7.44067 13.0128 6.56811 12.9552 5.70776C12.8839 4.65258 12.3898 3.86059 11.5245 3.38842C10.9884 3.09594 10.4357 2.97534 9.87709 3.00415C9.5597 3.02075 9.24037 3.08569 8.92201 3.19506C7.86634 3.55786 7.21986 4.36401 7.06166 5.59643ZM10.0001 5.00024C9.4474 5.00024 9.00013 5.44799 9.00013 6.00024V8.00024C9.00013 8.55249 9.4474 9.00024 10.0001 9.00024C10.2911 9.00024 10.5529 8.8767 10.7355 8.67895C10.8995 8.50024 11.0001 8.26196 11.0001 8.00024V6.00024C11.0001 5.44799 10.5529 5.00024 10.0001 5.00024Z",fill:"#FDC307"}),(0,Qr.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0617 13.5964C17.964 14.3577 18.004 15.8157 18.0353 16.2107C18.1261 17.3635 18.6183 18.2209 19.59 18.699C20.2326 19.0149 20.9074 19.0481 21.5919 18.9543C22.9122 18.7742 23.8683 17.7375 23.9601 16.3015C24.0158 15.4407 24.0128 14.5681 23.9552 13.7078C23.8839 12.6526 23.3898 11.8606 22.5245 11.3884C21.9884 11.0959 21.4357 10.9753 20.8771 11.0041C20.5597 11.0207 20.2404 11.0857 19.922 11.1951C18.8663 11.5579 18.2199 12.364 18.0617 13.5964ZM21.0001 13.0002C20.4474 13.0002 20.0001 13.448 20.0001 14.0002V16.0002C20.0001 16.5525 20.4474 17.0002 21.0001 17.0002C21.2911 17.0002 21.5529 16.8767 21.7355 16.679C21.8995 16.5002 22.0001 16.262 22.0001 16.0002V14.0002C22.0001 13.448 21.5529 13.0002 21.0001 13.0002Z",fill:"#FDC307"})]}),Bs=({style:e})=>(0,Qr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Qr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v12m-3-2.818.879.659c1.171.879 3.07.879 4.242 0 1.172-.879 1.172-2.303 0-3.182C13.536 12.219 12.768 12 12 12c-.725 0-1.45-.22-2.003-.659-1.106-.879-1.106-2.303 0-3.182s2.9-.879 4.006 0l.415.33M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})}),Us=({style:e})=>(0,Qr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Qr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"})}),Vs=({style:e})=>(0,Qr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Qr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 6v.75m0 3v.75m0 3v.75m0 3V18m-9-5.25h5.25M7.5 15h3M3.375 5.25c-.621 0-1.125.504-1.125 1.125v3.026a2.999 2.999 0 0 1 0 5.198v3.026c0 .621.504 1.125 1.125 1.125h17.25c.621 0 1.125-.504 1.125-1.125v-3.026a2.999 2.999 0 0 1 0-5.198V6.375c0-.621-.504-1.125-1.125-1.125H3.375Z"})}),Fs="#000141",qs=({style:e,monochromatic:t,className:n})=>{const a=t?Fs:"#FDC307";return(0,Qr.jsxs)("svg",{className:n,style:e,width:"70",height:"35",viewBox:"0 0 655 188",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Qr.jsxs)("g",{clipPath:"url(#clip0_2736_1130)",children:[(0,Qr.jsx)("path",{d:"M140.53 151.42C133.176 145.377 125.919 139.255 118.468 133.294C117.177 132.263 116.339 132.287 115.094 133.114C111.644 135.406 107.817 137.199 103.828 138.733C95.7161 141.854 87.1346 143.141 78.2395 143.137C74.3629 143.137 70.4864 143.127 66.6099 143.125C65.7599 143.125 65.0703 143.701 65.0703 144.41V170.591C65.0703 171.299 65.7575 171.872 66.6051 171.874C71.0156 171.882 75.4261 171.896 79.8389 171.914C84.5152 171.934 89.2034 171.738 93.7455 171.123C101.934 170.014 109.951 168.19 117.572 165.28C125.821 162.131 133.468 158.23 140.462 153.408C141.576 152.641 141.533 152.243 140.53 151.42Z",fill:a}),(0,Qr.jsx)("path",{d:"M78.6076 44.8196C84.3038 44.8716 90.0216 45.2612 95.4449 46.7479C101.764 48.4784 108.066 50.3608 113.434 53.8298C114.021 54.2075 114.638 54.5651 115.156 55.0008C116.094 55.7901 116.832 55.6922 117.684 54.9448C118.682 54.0676 119.676 53.1863 120.72 52.3451C127.317 47.0377 133.918 41.7343 140.543 36.4509C141.338 35.8175 141.623 35.4558 140.546 34.7184C136.983 32.2805 133.315 29.9785 129.405 27.9383C114.988 20.4148 99.2281 16.3704 82.2925 16.1446C77.0656 16.0746 71.8362 16.0347 66.6093 16.0147C65.7569 16.0107 65.0625 16.5882 65.0625 17.2996V43.5048C65.0625 44.2142 65.7521 44.7896 66.6021 44.7876C70.6031 44.7837 74.6041 44.7837 78.6052 44.8196H78.6076Z",fill:a}),(0,Qr.jsx)("path",{d:"M49.0472 15.9951H17.901C16.9158 15.9951 16.1172 16.6616 16.1172 17.4838V170.371C16.1172 171.193 16.9158 171.86 17.901 171.86H49.0472C50.0324 171.86 50.8311 171.193 50.8311 170.371V17.4838C50.8311 16.6616 50.0324 15.9951 49.0472 15.9951Z",fill:Fs}),(0,Qr.jsx)("path",{d:"M151.361 44.0407C154.534 47.064 157.395 50.2752 159.888 53.7203C163.537 58.7659 166.266 64.1272 168.582 69.6944C170.845 75.1396 171.965 80.7108 172.707 86.3998C173.136 89.693 173.553 92.9761 173.351 96.2792C172.729 106.452 170.27 116.266 165.285 125.632C163.499 128.989 161.475 132.274 159.181 135.331C156.892 138.383 154.448 141.498 150.983 144.186C149.19 142.623 147.418 141.028 145.584 139.486C139.538 134.398 133.485 129.317 127.394 124.265C126.635 123.635 126.553 123.33 127.281 122.564C131.442 118.176 134.215 113.153 136.229 107.861C138.41 102.132 139.358 96.1773 138.508 90.2325C137.948 86.3039 137.304 82.3194 135.654 78.5007C133.981 74.6321 131.823 71.0052 129.216 67.5402C128.557 66.665 127.983 65.7198 127.156 64.9685C126.33 64.2191 126.383 63.7915 127.243 63.1021C133.289 58.2483 139.387 53.4425 145.296 48.4688C147.114 46.9401 149.012 45.4355 150.981 44.0127C151.108 44.0207 151.237 44.0287 151.364 44.0347L151.361 44.0407Z",fill:a}),(0,Qr.jsx)("path",{d:"M151.356 44.0383C151.229 44.0303 151.1 44.0243 150.973 44.0163C151.042 43.9044 151.112 43.7925 151.179 43.6826C151.236 43.8025 151.296 43.9204 151.353 44.0403L151.356 44.0383Z",fill:Fs}),(0,Qr.jsx)("path",{d:"M210.432 170.988H186.687V85.6419H210.432V170.988ZM198.56 73.9412C194.889 73.9412 191.792 72.6794 189.268 70.1557C186.744 67.632 185.482 64.5347 185.482 60.8639C185.482 57.1931 186.744 54.0959 189.268 51.5722C191.792 48.9338 194.889 47.6146 198.56 47.6146C202.23 47.6146 205.328 48.9338 207.851 51.5722C210.375 54.0959 211.637 57.1931 211.637 60.8639C211.637 64.5347 210.375 67.632 207.851 70.1557C205.328 72.6794 202.23 73.9412 198.56 73.9412ZM251.545 97.5147C252.692 95.6793 254.011 93.9586 255.502 92.3526C256.994 90.6319 258.772 89.1407 260.837 87.8788C262.901 86.5023 265.253 85.4125 267.891 84.6095C270.53 83.8065 273.512 83.405 276.839 83.405C280.739 83.405 285.27 84.0933 290.433 85.4698L288.196 106.634C286.934 106.405 285.672 106.118 284.41 105.774C283.378 105.545 282.231 105.373 280.969 105.258C279.707 105.028 278.56 104.914 277.527 104.914C273.857 104.914 270.415 105.43 267.203 106.462C264.106 107.495 261.41 108.929 259.116 110.764C256.822 112.599 254.986 114.836 253.61 117.475C252.233 119.998 251.545 122.752 251.545 125.734V170.988H227.799V85.6419H249.308L251.545 97.5147ZM341.212 83.2329C347.636 83.2329 353.486 84.5521 358.763 87.1905C364.04 89.7142 368.571 93.0982 372.356 97.3426C376.142 101.472 379.067 106.29 381.132 111.796C383.197 117.188 384.229 122.752 384.229 128.487C384.229 131.929 383.77 135.599 382.853 139.5H321.94C324.234 143.4 327.504 146.727 331.748 149.48C335.992 152.118 340.581 153.437 345.514 153.437C350.446 153.437 354.748 153.036 358.419 152.233C362.204 151.43 365.76 150.397 369.087 149.135L377.002 163.761C372.758 166.744 367.883 169.038 362.376 170.644C356.985 172.25 351.192 173.053 344.997 173.053C338.229 173.053 331.92 171.906 326.07 169.612C320.219 167.203 315.115 163.991 310.756 159.976C306.396 155.961 302.955 151.2 300.431 145.694C297.908 140.188 296.646 134.338 296.646 128.143C296.646 122.063 297.793 116.328 300.087 110.936C302.381 105.43 305.536 100.669 309.551 96.6543C313.681 92.5247 318.441 89.2554 323.833 86.8464C329.224 84.4374 335.017 83.2329 341.212 83.2329ZM360.656 121.088C359.279 116.156 356.813 112.141 353.257 109.043C349.701 105.946 345.686 104.397 341.212 104.397C336.623 104.397 332.436 105.946 328.651 109.043C324.98 112.141 322.456 116.156 321.08 121.088H360.656ZM443.374 104.397C440.506 104.397 437.81 105.086 435.287 106.462C432.763 107.724 430.526 109.502 428.576 111.796C426.741 113.976 425.249 116.557 424.102 119.54C423.07 122.522 422.554 125.734 422.554 129.175C422.554 132.617 423.07 135.771 424.102 138.639C425.249 141.392 426.741 143.801 428.576 145.866C430.526 147.816 432.763 149.365 435.287 150.512C437.81 151.659 440.506 152.233 443.374 152.233C446.93 152.233 450.371 151.43 453.698 149.824C457.139 148.103 460.065 145.751 462.474 142.769L477.099 157.223C473.085 162.041 468.152 165.884 462.302 168.751C456.451 171.619 450.142 173.053 443.374 173.053C437.179 173.053 431.386 171.906 425.995 169.612C420.603 167.203 415.9 163.991 411.885 159.976C407.87 155.846 404.658 151.086 402.249 145.694C399.955 140.188 398.808 134.338 398.808 128.143C398.808 121.949 399.955 116.156 402.249 110.764C404.658 105.258 407.87 100.497 411.885 96.4823C415.9 92.3526 420.603 89.1407 425.995 86.8464C431.386 84.4374 437.179 83.2329 443.374 83.2329C450.371 83.2329 456.853 84.7242 462.818 87.7067C468.783 90.6893 473.83 94.7616 477.96 99.9237L461.441 112.657C458.115 109.56 455.075 107.437 452.322 106.29C449.683 105.028 446.701 104.397 443.374 104.397ZM521.433 140.36C521.433 144.375 522.637 147.472 525.046 149.652C527.57 151.831 530.839 152.921 534.854 152.921C538.066 152.921 541.278 152.29 544.49 151.028V170.988C541.622 171.906 538.582 172.652 535.37 173.225C532.159 173.913 528.947 174.258 525.735 174.258C522.064 174.258 518.565 173.799 515.238 172.881C511.912 171.963 508.929 170.415 506.291 168.235C503.652 165.941 501.53 162.958 499.924 159.288C498.433 155.502 497.687 150.856 497.687 145.35V106.806H485.47V90.804L497.687 85.6419V66.5422H521.433V85.6419H544.49V106.806H521.433V140.36ZM597.799 83.2329C603.879 83.2329 609.615 84.4374 615.006 86.8464C620.398 89.1407 625.101 92.3526 629.116 96.4823C633.131 100.497 636.286 105.258 638.58 110.764C640.989 116.156 642.193 121.949 642.193 128.143C642.193 134.338 640.989 140.188 638.58 145.694C636.286 151.086 633.131 155.846 629.116 159.976C625.101 163.991 620.398 167.203 615.006 169.612C609.615 171.906 603.879 173.053 597.799 173.053C591.605 173.053 585.812 171.906 580.42 169.612C575.029 167.203 570.326 163.991 566.311 159.976C562.296 155.846 559.084 151.086 556.675 145.694C554.381 140.188 553.233 134.338 553.233 128.143C553.233 121.949 554.381 116.156 556.675 110.764C559.084 105.258 562.296 100.497 566.311 96.4823C570.326 92.3526 575.029 89.1407 580.42 86.8464C585.812 84.4374 591.605 83.2329 597.799 83.2329ZM597.799 152.233C600.667 152.233 603.306 151.659 605.715 150.512C608.238 149.365 610.418 147.816 612.253 145.866C614.203 143.801 615.695 141.392 616.727 138.639C617.874 135.771 618.448 132.617 618.448 129.175C618.448 125.734 617.874 122.522 616.727 119.54C615.695 116.557 614.203 113.976 612.253 111.796C610.418 109.502 608.238 107.724 605.715 106.462C603.306 105.086 600.667 104.397 597.799 104.397C594.932 104.397 592.236 105.086 589.712 106.462C587.188 107.724 584.952 109.502 583.001 111.796C581.166 113.976 579.675 116.557 578.528 119.54C577.495 122.522 576.979 125.734 576.979 129.175C576.979 132.617 577.495 135.771 578.528 138.639C579.675 141.392 581.166 143.801 583.001 145.866C584.952 147.816 587.188 149.365 589.712 150.512C592.236 151.659 594.932 152.233 597.799 152.233Z",fill:Fs})]}),(0,Qr.jsx)("defs",{children:(0,Qr.jsx)("clipPath",{id:"clip0_2736_1130",children:(0,Qr.jsx)("rect",{width:"655",height:"188",fill:"white"})})})]})};function Hs(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(n.length?" "+n.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var Ks={};function Gs(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:Ks}var Ys=Object.assign,Qs=Object.getOwnPropertyDescriptor,Ws=Object.defineProperty,Js=Object.prototype,Zs=[];Object.freeze(Zs);var Xs={};Object.freeze(Xs);var ec="undefined"!=typeof Proxy,tc=Object.toString();function nc(){ec||Hs("Proxy not available")}function ac(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var rc=function(){};function oc(e){return"function"==typeof e}function ic(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function sc(e){return null!==e&&"object"==typeof e}function cc(e){if(!sc(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===tc}function lc(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function uc(e,t,n){Ws(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function dc(e,t,n){Ws(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function pc(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return sc(e)&&!0===e[n]}}function hc(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function mc(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}var fc=void 0!==Object.getOwnPropertySymbols,gc="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:fc?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function bc(e){return null===e?null:"object"==typeof e?""+e:e}function yc(e,t){return Js.hasOwnProperty.call(e,t)}var kc=Object.getOwnPropertyDescriptors||function(e){var t={};return gc(e).forEach(function(n){t[n]=Qs(e,n)}),t};function vc(e,t){return!!(e&t)}function wc(e,t,n){return n?e|=t:e&=~t,e}function jc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function _c(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,Oc(a.key),a)}}function xc(e,t,n){return t&&_c(e.prototype,t),n&&_c(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Cc(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return jc(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jc(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function zc(){return zc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},zc.apply(null,arguments)}function Sc(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Ec(e,t)}function Ec(e,t){return Ec=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ec(e,t)}function Oc(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var Lc=Symbol("mobx-stored-annotations");function Ac(e){return Object.assign(function(t,n){if(Ic(n))return e.decorate_20223_(t,n);Pc(t,n,e)},e)}function Pc(e,t,n){yc(e,Lc)||uc(e,Lc,zc({},e[Lc])),function(e){return e.annotationType_===Uc}(n)||(e[Lc][t]=n)}function Ic(e){return"object"==typeof e&&"string"==typeof e.kind}var Nc=Symbol("mobx administration"),Dc=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=Rl.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return iu(this)},t.reportChanged=function(){ru(),su(this),ou()},t.toString=function(){return this.name_},xc(e,[{key:"isBeingObserved",get:function(){return vc(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=wc(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return vc(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=wc(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return vc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=wc(this.flags_,e.diffValueMask_,1===t)}}])}();Dc.isBeingObservedMask_=1,Dc.isPendingUnobservationMask_=2,Dc.diffValueMask_=4;var Tc=pc("Atom",Dc);function Rc(e,t,n){void 0===t&&(t=rc),void 0===n&&(n=rc);var a=new Dc(e);return t!==rc&&Eu(Cu,a,t,undefined),n!==rc&&Su(a,n),a}var Mc={identity:function(e,t){return e===t},structural:function(e,t){return Fd(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Fd(e,t,1)}};function $c(e,t,n){return $u(e)?e:Array.isArray(e)?_l.array(e,{name:n}):cc(e)?_l.object(e,void 0,{name:n}):hc(e)?_l.map(e,{name:n}):mc(e)?_l.set(e,{name:n}):"function"!=typeof e||_u(e)||Mu(e)?e:lc(e)?Tu(e):ju(n,e)}function Bc(e){return e}var Uc="override";function Vc(e,t){return{annotationType_:e,options_:t,make_:Fc,extend_:qc,decorate_20223_:Hc}}function Fc(e,t,n,a){var r;if(null!=(r=this.options_)&&r.bound)return null===this.extend_(e,t,n,!1)?0:1;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(_u(n.value))return 1;var o=Kc(e,this,t,n,!1);return Ws(a,t,o),2}function qc(e,t,n,a){var r=Kc(e,this,t,n);return e.defineProperty_(t,r,a)}function Hc(e,t){var n,a=t.kind,r=t.name,o=t.addInitializer,i=this,s=function(e){var t,n,a,o;return Pl(null!=(t=null==(n=i.options_)?void 0:n.name)?t:r.toString(),e,null!=(a=null==(o=i.options_)?void 0:o.autoAction)&&a)};return"field"==a?function(e){var t,n=e;return _u(n)||(n=s(n)),null!=(t=i.options_)&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:"method"==a?(_u(e)||(e=s(e)),null!=(n=this.options_)&&n.bound&&o(function(){var e=this,t=e[r].bind(e);t.isMobxAction=!0,e[r]=t}),e):void Hs("Cannot apply '"+i.annotationType_+"' to '"+String(r)+"' (kind: "+a+"):\n'"+i.annotationType_+"' can only be used on properties with a function value.")}function Kc(e,t,n,a,r){var o,i,s,c,l,u,d,p;void 0===r&&(r=eu.safeDescriptors),p=a,t.annotationType_,p.value;var h,m=a.value;return null!=(o=t.options_)&&o.bound&&(m=m.bind(null!=(h=e.proxy_)?h:e.target_)),{value:Pl(null!=(i=null==(s=t.options_)?void 0:s.name)?i:n.toString(),m,null!=(c=null==(l=t.options_)?void 0:l.autoAction)&&c,null!=(u=t.options_)&&u.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!r||e.isPlainObject_,enumerable:!1,writable:!r}}function Gc(e,t){return{annotationType_:e,options_:t,make_:Yc,extend_:Qc,decorate_20223_:Wc}}function Yc(e,t,n,a){var r;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(r=this.options_)&&r.bound&&(!yc(e.target_,t)||!Mu(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(Mu(n.value))return 1;var o=Jc(e,this,0,n,!1,!1);return Ws(a,t,o),2}function Qc(e,t,n,a){var r,o=Jc(e,this,0,n,null==(r=this.options_)?void 0:r.bound);return e.defineProperty_(t,o,a)}function Wc(e,t){var n,a=t.name,r=t.addInitializer;return Mu(e)||(e=Tu(e)),null!=(n=this.options_)&&n.bound&&r(function(){var e=this,t=e[a].bind(e);t.isMobXFlow=!0,e[a]=t}),e}function Jc(e,t,n,a,r,o){var i;void 0===o&&(o=eu.safeDescriptors),i=a,t.annotationType_,i.value;var s,c=a.value;return Mu(c)||(c=Tu(c)),r&&((c=c.bind(null!=(s=e.proxy_)?s:e.target_)).isMobXFlow=!0),{value:c,configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function Zc(e,t){return{annotationType_:e,options_:t,make_:Xc,extend_:el,decorate_20223_:tl}}function Xc(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function el(e,t,n,a){return r=n,this.annotationType_,r.get,e.defineComputedProperty_(t,zc({},this.options_,{get:n.get,set:n.set}),a);var r}function tl(e,t){var n=this,a=t.name;return(0,t.addInitializer)(function(){var t=wd(this)[Nc],r=zc({},n.options_,{get:e,context:this});r.name||(r.name="ObservableObject."+a.toString()),t.values_.set(a,new Tl(r))}),function(){return this[Nc].getObservablePropValue_(a)}}function nl(e,t){return{annotationType_:e,options_:t,make_:al,extend_:rl,decorate_20223_:ol}}function al(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function rl(e,t,n,a){var r,o;return this.annotationType_,e.defineObservableProperty_(t,n.value,null!=(r=null==(o=this.options_)?void 0:o.enhancer)?r:$c,a)}function ol(e,t){var n=this,a=t.kind,r=t.name,o=new WeakSet;function i(e,t){var a,i,s=wd(e)[Nc],c=new Dl(t,null!=(a=null==(i=n.options_)?void 0:i.enhancer)?a:$c,"ObservableObject."+r.toString(),!1);s.values_.set(r,c),o.add(e)}if("accessor"==a)return{get:function(){return o.has(this)||i(this,e.get.call(this)),this[Nc].getObservablePropValue_(r)},set:function(e){return o.has(this)||i(this,e),this[Nc].setObservablePropValue_(r,e)},init:function(e){return o.has(this)||i(this,e),e}}}var il="true",sl=cl();function cl(e){return{annotationType_:il,options_:e,make_:ll,extend_:ul,decorate_20223_:dl}}function ll(e,t,n,a){var r,o,i,s;if(n.get)return Sl.make_(e,t,n,a);if(n.set){var c=_u(n.set)?n.set:Pl(t.toString(),n.set);return a===e.target_?null===e.defineProperty_(t,{configurable:!eu.safeDescriptors||e.isPlainObject_,set:c})?0:2:(Ws(a,t,{configurable:!0,set:c}),2)}if(a!==e.target_&&"function"==typeof n.value)return lc(n.value)?(null!=(s=this.options_)&&s.autoBind?Tu.bound:Tu).make_(e,t,n,a):(null!=(i=this.options_)&&i.autoBind?ju.bound:ju).make_(e,t,n,a);var l,u=!1===(null==(r=this.options_)?void 0:r.deep)?_l.ref:_l;return"function"==typeof n.value&&null!=(o=this.options_)&&o.autoBind&&(n.value=n.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,n,a)}function ul(e,t,n,a){var r,o,i;return n.get?Sl.extend_(e,t,n,a):n.set?e.defineProperty_(t,{configurable:!eu.safeDescriptors||e.isPlainObject_,set:Pl(t.toString(),n.set)},a):("function"==typeof n.value&&null!=(r=this.options_)&&r.autoBind&&(n.value=n.value.bind(null!=(i=e.proxy_)?i:e.target_)),(!1===(null==(o=this.options_)?void 0:o.deep)?_l.ref:_l).extend_(e,t,n,a))}function dl(e,t){Hs("'"+this.annotationType_+"' cannot be used as a decorator")}var pl={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function hl(e){return e||pl}Object.freeze(pl);var ml=nl("observable"),fl=nl("observable.ref",{enhancer:Bc}),gl=nl("observable.shallow",{enhancer:function(e,t,n){return null==e||xd(e)||sd(e)||pd(e)||gd(e)?e:Array.isArray(e)?_l.array(e,{name:n,deep:!1}):cc(e)?_l.object(e,void 0,{name:n,deep:!1}):hc(e)?_l.map(e,{name:n,deep:!1}):mc(e)?_l.set(e,{name:n,deep:!1}):void 0}}),bl=nl("observable.struct",{enhancer:function(e,t){return Fd(e,t)?t:e}}),yl=Ac(ml);function kl(e){return!0===e.deep?$c:!1===e.deep?Bc:(t=e.defaultDecorator)&&null!=(n=null==(a=t.options_)?void 0:a.enhancer)?n:$c;var t,n,a}function vl(e,t,n){return Ic(t)?ml.decorate_20223_(e,t):ic(t)?void Pc(e,t,ml):$u(e)?e:cc(e)?_l.object(e,t,n):Array.isArray(e)?_l.array(e,t):hc(e)?_l.map(e,t):mc(e)?_l.set(e,t):"object"==typeof e&&null!==e?e:_l.box(e,t)}Ys(vl,yl);var wl,jl,_l=Ys(vl,{box:function(e,t){var n=hl(t);return new Dl(e,kl(n),n.name,!0,n.equals)},array:function(e,t){var n=hl(t);return(!1===eu.useProxies||!1===n.proxy?Td:ed)(e,kl(n),n.name)},map:function(e,t){var n=hl(t);return new dd(e,kl(n),n.name)},set:function(e,t){var n=hl(t);return new fd(e,kl(n),n.name)},object:function(e,t,n){return Bd(function(){return function(e,t,n,a){var r=kc(t);return Bd(function(){var t=wd(e,a)[Nc];gc(r).forEach(function(e){t.extend_(e,r[e],!n||!(e in n)||n[e])})}),e}(!1===eu.useProxies||!1===(null==n?void 0:n.proxy)?wd({},n):function(e,t){var n,a;return nc(),null!=(a=(n=(e=wd(e,t))[Nc]).proxy_)?a:n.proxy_=new Proxy(e,Vu)}({},n),e,t)})},ref:Ac(fl),shallow:Ac(gl),deep:yl,struct:Ac(bl)}),xl="computed",Cl=Zc(xl),zl=Zc("computed.struct",{equals:Mc.structural}),Sl=function(e,t){if(Ic(t))return Cl.decorate_20223_(e,t);if(ic(t))return Pc(e,t,Cl);if(cc(e))return Ac(Zc(xl,e));var n=cc(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new Tl(n)};Object.assign(Sl,Cl),Sl.struct=Ac(zl);var El=0,Ol=1,Ll=null!=(wl=null==(jl=Qs(function(){},"name"))?void 0:jl.configurable)&&wl,Al={value:"action",configurable:!0,writable:!1,enumerable:!1};function Pl(e,t,n,a){function r(){return function(e,t,n,a,r){var o=function(e,t){var n=!1,a=0,r=eu.trackingDerivation,o=!t||!r;ru();var i=eu.allowStateChanges;o&&(Kl(),i=Il(!0));var s={runAsAction_:o,prevDerivation_:r,prevAllowStateChanges_:i,prevAllowStateReads_:Yl(!0),notifySpy_:n,startTime_:a,actionId_:Ol++,parentActionId_:El};return El=s.actionId_,s}(0,t);try{return n.apply(a,r)}catch(e){throw o.error_=e,e}finally{!function(e){El!==e.actionId_&&Hs(30),El=e.parentActionId_,void 0!==e.error_&&(eu.suppressReactionErrors=!0),Nl(e.prevAllowStateChanges_),Ql(e.prevAllowStateReads_),ou(),e.runAsAction_&&Gl(e.prevDerivation_),eu.suppressReactionErrors=!1}(o)}}(0,n,t,a||this,arguments)}return void 0===n&&(n=!1),r.isMobxAction=!0,r.toString=function(){return t.toString()},Ll&&(Al.value=e,Ws(r,"name",Al)),r}function Il(e){var t=eu.allowStateChanges;return eu.allowStateChanges=e,t}function Nl(e){eu.allowStateChanges=e}var Dl=function(e){function t(t,n,a,r,o){var i;return void 0===a&&(a="ObservableValue"),void 0===r&&(r=!0),void 0===o&&(o=Mc.default),(i=e.call(this,a)||this).enhancer=void 0,i.name_=void 0,i.equals=void 0,i.hasUnreportedChange_=!1,i.interceptors_=void 0,i.changeListeners_=void 0,i.value_=void 0,i.dehancer=void 0,i.enhancer=n,i.name_=a,i.equals=o,i.value_=n(t,void 0,a),i}Sc(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==eu.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(Fu(this)){var t=Hu(this,{object:this,type:Ju,newValue:e});if(!t)return eu.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?eu.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),Ku(this)&&Yu(this,{type:Ju,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return qu(this,e)},n.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:Ju,newValue:this.value_,oldValue:void 0}),Gu(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+"["+this.value_+"]"},n.valueOf=function(){return bc(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Dc),Tl=function(){function e(e){this.dependenciesState_=Rl.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=Rl.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new Bl(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=Ml.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||Hs(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=Pl("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Mc.structural:Mc.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===Rl.UP_TO_DATE_&&(e.lowestObserverState_=Rl.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===Rl.UP_TO_DATE_&&(e.dependenciesState_=Rl.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&Hs(32,this.name_,this.derivation),0!==eu.inBatch||0!==this.observers_.size||this.keepAlive_){if(iu(this),Vl(this)){var e=eu.trackingContext;this.keepAlive_&&!e&&(eu.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==Rl.STALE_&&(t.lowestObserverState_=Rl.STALE_,t.observers_.forEach(function(e){e.dependenciesState_===Rl.POSSIBLY_STALE_?e.dependenciesState_=Rl.STALE_:e.dependenciesState_===Rl.UP_TO_DATE_&&(t.lowestObserverState_=Rl.UP_TO_DATE_)}))),eu.trackingContext=e}}else Vl(this)&&(this.warnAboutUntrackedRead_(),ru(),this.value_=this.computeValue_(!1),ou());var t,n=this.value_;if(Ul(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter&&Hs(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else Hs(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===Rl.NOT_TRACKING_,n=this.computeValue_(!0),a=t||Ul(e)||Ul(n)||!this.equals_(e,n);return a&&(this.value_=n),a},t.computeValue_=function(e){this.isComputing=!0;var t,n=Il(!1);if(e)t=Fl(this,this.derivation,this.scope_);else if(!0===eu.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new Bl(e)}return Nl(n),this.isComputing=!1,t},t.suspend_=function(){this.keepAlive_||(ql(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,a=!0,r=void 0;return function(e,t){var n,a,r,o;void 0===t&&(t=Xs);var i,s=null!=(n=null==(a=t)?void 0:a.name)?n:"Autorun";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:xu}(t),l=!1;i=new cu(s,function(){l||(l=!0,c(function(){l=!1,i.isDisposed||i.track(u)}))},t.onError,t.requiresObservable)}else i=new cu(s,function(){this.track(u)},t.onError,t.requiresObservable);function u(){e(i)}return null!=(r=t)&&null!=(r=r.signal)&&r.aborted||i.schedule_(),i.getDisposer_(null==(o=t)?void 0:o.signal)}(function(){var o=n.get();if(!a||t){var i=Kl();e({observableKind:"computed",debugObjectName:n.name_,type:Ju,object:n,newValue:o,oldValue:r}),Gl(i)}a=!1,r=o})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return bc(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},xc(e,[{key:"isComputing",get:function(){return vc(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=wc(this.flags_,e.isComputingMask_,t)}},{key:"isRunningSetter",get:function(){return vc(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=wc(this.flags_,e.isRunningSetterMask_,t)}},{key:"isBeingObserved",get:function(){return vc(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=wc(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return vc(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=wc(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return vc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=wc(this.flags_,e.diffValueMask_,1===t)}}])}();Tl.isComputingMask_=1,Tl.isRunningSetterMask_=2,Tl.isBeingObservedMask_=4,Tl.isPendingUnobservationMask_=8,Tl.diffValueMask_=16;var Rl,Ml,$l=pc("ComputedValue",Tl);!function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"}(Rl||(Rl={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(Ml||(Ml={}));var Bl=function(e){this.cause=void 0,this.cause=e};function Ul(e){return e instanceof Bl}function Vl(e){switch(e.dependenciesState_){case Rl.UP_TO_DATE_:return!1;case Rl.NOT_TRACKING_:case Rl.STALE_:return!0;case Rl.POSSIBLY_STALE_:for(var t=Yl(!0),n=Kl(),a=e.observing_,r=a.length,o=0;o<r;o++){var i=a[o];if($l(i)){if(eu.disableErrorBoundaries)i.get();else try{i.get()}catch(e){return Gl(n),Ql(t),!0}if(e.dependenciesState_===Rl.STALE_)return Gl(n),Ql(t),!0}}return Wl(e),Gl(n),Ql(t),!1}}function Fl(e,t,n){var a=Yl(!0);Wl(e),e.newObserving_=new Array(0===e.runId_?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++eu.runId;var r,o=eu.trackingDerivation;if(eu.trackingDerivation=e,eu.inBatch++,!0===eu.disableErrorBoundaries)r=t.call(n);else try{r=t.call(n)}catch(e){r=new Bl(e)}return eu.inBatch--,eu.trackingDerivation=o,function(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,a=Rl.UP_TO_DATE_,r=0,o=e.unboundDepsCount_,i=0;i<o;i++){var s=n[i];0===s.diffValue&&(s.diffValue=1,r!==i&&(n[r]=s),r++),s.dependenciesState_>a&&(a=s.dependenciesState_)}for(n.length=r,e.newObserving_=null,o=t.length;o--;){var c=t[o];0===c.diffValue&&nu(c,e),c.diffValue=0}for(;r--;){var l=n[r];1===l.diffValue&&(l.diffValue=0,tu(l,e))}a!==Rl.UP_TO_DATE_&&(e.dependenciesState_=a,e.onBecomeStale_())}(e),Ql(a),r}function ql(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)nu(t[n],e);e.dependenciesState_=Rl.NOT_TRACKING_}function Hl(e){var t=Kl();try{return e()}finally{Gl(t)}}function Kl(){var e=eu.trackingDerivation;return eu.trackingDerivation=null,e}function Gl(e){eu.trackingDerivation=e}function Yl(e){var t=eu.allowStateReads;return eu.allowStateReads=e,t}function Ql(e){eu.allowStateReads=e}function Wl(e){if(e.dependenciesState_!==Rl.UP_TO_DATE_){e.dependenciesState_=Rl.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=Rl.UP_TO_DATE_}}var Jl=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Zl=!0,Xl=!1,eu=function(){var e=Gs();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Zl=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new Jl).version&&(Zl=!1),Zl?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Jl):(setTimeout(function(){Xl||Hs(35)},1),new Jl)}();function tu(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function nu(e,t){e.observers_.delete(t),0===e.observers_.size&&au(e)}function au(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,eu.pendingUnobservations.push(e))}function ru(){eu.inBatch++}function ou(){if(0===--eu.inBatch){du();for(var e=eu.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,0===n.observers_.size&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Tl&&n.suspend_())}eu.pendingUnobservations=[]}}function iu(e){var t=eu.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&eu.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.observers_.size&&eu.inBatch>0&&au(e),!1)}function su(e){e.lowestObserverState_!==Rl.STALE_&&(e.lowestObserverState_=Rl.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===Rl.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=Rl.STALE_}))}var cu=function(){function e(e,t,n,a){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=Rl.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=Ml.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=a}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,eu.pendingReactions.push(this),du())},t.runReaction_=function(){if(!this.isDisposed){ru(),this.isScheduled=!1;var e=eu.trackingContext;if(eu.trackingContext=this,Vl(this)){this.isTrackPending=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}eu.trackingContext=e,ou()}},t.track=function(e){if(!this.isDisposed){ru(),this.isRunning=!0;var t=eu.trackingContext;eu.trackingContext=this;var n=Fl(this,e,void 0);eu.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&ql(this),Ul(n)&&this.reportExceptionInDerivation_(n.cause),ou()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(eu.disableErrorBoundaries)throw e;var n="[mobx] uncaught error in '"+this+"'";eu.suppressReactionErrors||console.error(n,e),eu.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(ru(),ql(this),ou()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[Nc]=this,"dispose"in Symbol&&"symbol"==typeof Symbol.dispose&&(n[Symbol.dispose]=n),n},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},xc(e,[{key:"isDisposed",get:function(){return vc(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=wc(this.flags_,e.isDisposedMask_,t)}},{key:"isScheduled",get:function(){return vc(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=wc(this.flags_,e.isScheduledMask_,t)}},{key:"isTrackPending",get:function(){return vc(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=wc(this.flags_,e.isTrackPendingMask_,t)}},{key:"isRunning",get:function(){return vc(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=wc(this.flags_,e.isRunningMask_,t)}},{key:"diffValue",get:function(){return vc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=wc(this.flags_,e.diffValueMask_,1===t)}}])}();cu.isDisposedMask_=1,cu.isScheduledMask_=2,cu.isTrackPendingMask_=4,cu.isRunningMask_=8,cu.diffValueMask_=16;var lu=100,uu=function(e){return e()};function du(){eu.inBatch>0||eu.isRunningReactions||uu(pu)}function pu(){eu.isRunningReactions=!0;for(var e=eu.pendingReactions,t=0;e.length>0;){++t===lu&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),a=0,r=n.length;a<r;a++)n[a].runReaction_()}eu.isRunningReactions=!1}var hu=pc("Reaction",cu),mu="action",fu="autoAction",gu=Vc(mu),bu=Vc("action.bound",{bound:!0}),yu=Vc(fu,{autoAction:!0}),ku=Vc("autoAction.bound",{autoAction:!0,bound:!0});function vu(e){return function(t,n){return oc(t)?Pl(t.name||"<unnamed action>",t,e):oc(n)?Pl(t,n,e):Ic(n)?(e?yu:gu).decorate_20223_(t,n):ic(n)?Pc(t,n,e?yu:gu):ic(t)?Ac(Vc(e?fu:mu,{name:t,autoAction:e})):void 0}}var wu=vu(!1);Object.assign(wu,gu);var ju=vu(!0);function _u(e){return oc(e)&&!0===e.isMobxAction}Object.assign(ju,yu),wu.bound=Ac(bu),ju.bound=Ac(ku);var xu=function(e){return e()};var Cu="onBO",zu="onBUO";function Su(e,t,n){return Eu(zu,e,t,n)}function Eu(e,t,n,a){var r="function"==typeof a?Rd(t,n):Rd(t),o=oc(a)?a:n,i=e+"L";return r[i]?r[i].add(o):r[i]=new Set([o]),function(){var e=r[i];e&&(e.delete(o),0===e.size&&delete r[i])}}var Ou="always";function Lu(e){!0===e.isolateGlobalState&&function(){if((eu.pendingReactions.length||eu.inBatch||eu.isRunningReactions)&&Hs(36),Xl=!0,Zl){var e=Gs();0===--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),eu=new Jl}}();var t,n,a=e.useProxies,r=e.enforceActions;if(void 0!==a&&(eu.useProxies=a===Ou||"never"!==a&&"undefined"!=typeof Proxy),"ifavailable"===a&&(eu.verifyProxies=!0),void 0!==r){var o=r===Ou?Ou:"observed"===r;eu.enforceActions=o,eu.allowStateChanges=!0!==o&&o!==Ou}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&(eu[t]=!!e[t])}),eu.allowStateReads=!eu.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=uu,uu=function(e){return t(function(){return n(e)})})}function Au(e){var t,n={name:e.name_};return e.observing_&&e.observing_.length>0&&(n.dependencies=(t=e.observing_,Array.from(new Set(t))).map(Au)),n}var Pu=0;function Iu(){this.message="FLOW_CANCELLED"}Iu.prototype=Object.create(Error.prototype);var Nu=Gc("flow"),Du=Gc("flow.bound",{bound:!0}),Tu=Object.assign(function(e,t){if(Ic(t))return Nu.decorate_20223_(e,t);if(ic(t))return Pc(e,t,Nu);var n=e,a=n.name||"<unnamed flow>",r=function(){var e,t=arguments,r=++Pu,o=wu(a+" - runid: "+r+" - init",n).apply(this,t),i=void 0,s=new Promise(function(t,n){var s=0;function c(e){var t;i=void 0;try{t=wu(a+" - runid: "+r+" - yield "+s++,o.next).call(o,e)}catch(e){return n(e)}u(t)}function l(e){var t;i=void 0;try{t=wu(a+" - runid: "+r+" - yield "+s++,o.throw).call(o,e)}catch(e){return n(e)}u(t)}function u(e){if(!oc(null==e?void 0:e.then))return e.done?t(e.value):(i=Promise.resolve(e.value)).then(c,l);e.then(u,n)}e=n,c(void 0)});return s.cancel=wu(a+" - runid: "+r+" - cancel",function(){try{i&&Ru(i);var t=o.return(void 0),n=Promise.resolve(t.value);n.then(rc,rc),Ru(n),e(new Iu)}catch(t){e(t)}}),s};return r.isMobXFlow=!0,r},Nu);function Ru(e){oc(e.cancel)&&e.cancel()}function Mu(e){return!0===(null==e?void 0:e.isMobXFlow)}function $u(e){return function(e,t){return!!e&&(void 0!==t?!!xd(e)&&e[Nc].values_.has(t):xd(e)||!!e[Nc]||Tc(e)||hu(e)||$l(e))}(e)}function Bu(e,t){void 0===t&&(t=void 0),ru();try{return e.apply(t)}finally{ou()}}function Uu(e){return e[Nc]}Tu.bound=Ac(Du);var Vu={has:function(e,t){return Uu(e).has_(t)},get:function(e,t){return Uu(e).get_(t)},set:function(e,t,n){var a;return!!ic(t)&&(null==(a=Uu(e).set_(t,n,!0))||a)},deleteProperty:function(e,t){var n;return!!ic(t)&&(null==(n=Uu(e).delete_(t,!0))||n)},defineProperty:function(e,t,n){var a;return null==(a=Uu(e).defineProperty_(t,n))||a},ownKeys:function(e){return Uu(e).ownKeys_()},preventExtensions:function(e){Hs(13)}};function Fu(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function qu(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),ac(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Hu(e,t){var n=Kl();try{for(var a=[].concat(e.interceptors_||[]),r=0,o=a.length;r<o&&((t=a[r](t))&&!t.type&&Hs(14),t);r++);return t}finally{Gl(n)}}function Ku(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function Gu(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),ac(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Yu(e,t){var n=Kl(),a=e.changeListeners_;if(a){for(var r=0,o=(a=a.slice()).length;r<o;r++)a[r](t);Gl(n)}}function Qu(e,t,n){return Bd(function(){var a=wd(e,n)[Nc];null!=t||(t=function(e){return yc(e,Lc)||uc(e,Lc,zc({},e[Lc])),e[Lc]}(e)),gc(t).forEach(function(e){return a.make_(e,t[e])})}),e}var Wu="splice",Ju="update",Zu={get:function(e,t){var n=e[Nc];return t===Nc?n:"length"===t?n.getArrayLength_():"string"!=typeof t||isNaN(t)?yc(td,t)?td[t]:e[t]:n.get_(parseInt(t))},set:function(e,t,n){var a=e[Nc];return"length"===t&&a.setArrayLength_(n),"symbol"==typeof t||isNaN(t)?e[t]=n:a.set_(parseInt(t),n),!0},preventExtensions:function(){Hs(15)}},Xu=function(){function e(e,t,n,a){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=a,this.atom_=new Dc(e),this.enhancer_=function(e,n){return t(e,n,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return qu(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Gu(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&Hs("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var n=new Array(e-t),a=0;a<e-t;a++)n[a]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&Hs(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&Dd(e+t+1)},t.spliceWithArray_=function(e,t,n){var a=this;this.atom_;var r=this.values_.length;if(void 0===e?e=0:e>r?e=r:e<0&&(e=Math.max(0,r+e)),t=1===arguments.length?r-e:null==t?0:Math.max(0,Math.min(t,r-e)),void 0===n&&(n=Zs),Fu(this)){var o=Hu(this,{object:this.proxy_,type:Wu,index:e,removedCount:t,added:n});if(!o)return Zs;t=o.removedCount,n=o.added}if(n=0===n.length?n:n.map(function(e){return a.enhancer_(e,void 0)}),this.legacyMode_){var i=n.length-t;this.updateArrayLength_(r,i)}var s=this.spliceItemsIntoValues_(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){var a;if(n.length<1e4)return(a=this.values_).splice.apply(a,[e,t].concat(n));var r=this.values_.slice(e,e+t),o=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var i=0;i<n.length;i++)this.values_[e+i]=n[i];for(var s=0;s<o.length;s++)this.values_[e+n.length+s]=o[s];return r},t.notifyArrayChildUpdate_=function(e,t,n){var a=!this.owned_&&!1,r=Ku(this),o=r||a?{observableKind:"array",object:this.proxy_,type:Ju,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;this.atom_.reportChanged(),r&&Yu(this,o)},t.notifyArraySplice_=function(e,t,n){var a=!this.owned_&&!1,r=Ku(this),o=r||a?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:Wu,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom_.reportChanged(),r&&Yu(this,o)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&Hs(17,e,n.length),e<n.length){this.atom_;var a=n[e];if(Fu(this)){var r=Hu(this,{type:Ju,object:this.proxy_,index:e,newValue:t});if(!r)return;t=r.newValue}(t=this.enhancer_(t,a))!==a&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,a))}else{for(var o=new Array(e+1-n.length),i=0;i<o.length-1;i++)o[i]=void 0;o[o.length-1]=t,this.spliceWithArray_(n.length,0,o)}},e}();function ed(e,t,n,a){return void 0===n&&(n="ObservableArray"),void 0===a&&(a=!1),nc(),Bd(function(){var r=new Xu(n,t,a,!1);dc(r.values_,Nc,r);var o=new Proxy(r.values_,Zu);return r.proxy_=o,e&&e.length&&r.spliceWithArray_(0,0,e),o})}var td={clear:function(){return this.splice(0)},replace:function(e){var t=this[Nc];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,a=new Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];var o=this[Nc];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(e);case 2:return o.spliceWithArray_(e,t)}return o.spliceWithArray_(e,t,a)},spliceWithArray:function(e,t,n){return this[Nc].spliceWithArray_(e,t,n)},push:function(){for(var e=this[Nc],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(e.values_.length,0,n),e.values_.length},pop:function(){return this.splice(Math.max(this[Nc].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[Nc],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(0,0,n),e.values_.length},reverse:function(){return eu.trackingDerivation&&Hs(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){eu.trackingDerivation&&Hs(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[Nc],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};function nd(e,t){"function"==typeof Array.prototype[e]&&(td[e]=t(e))}function ad(e){return function(){var t=this[Nc];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function rd(e){return function(t,n){var a=this,r=this[Nc];return r.atom_.reportObserved(),r.dehanceValues_(r.values_)[e](function(e,r){return t.call(n,e,r,a)})}}function od(e){return function(){var t=this,n=this[Nc];n.atom_.reportObserved();var a=n.dehanceValues_(n.values_),r=arguments[0];return arguments[0]=function(e,n,a){return r(e,n,a,t)},a[e].apply(a,arguments)}}nd("at",ad),nd("concat",ad),nd("flat",ad),nd("includes",ad),nd("indexOf",ad),nd("join",ad),nd("lastIndexOf",ad),nd("slice",ad),nd("toString",ad),nd("toLocaleString",ad),nd("toSorted",ad),nd("toSpliced",ad),nd("with",ad),nd("every",rd),nd("filter",rd),nd("find",rd),nd("findIndex",rd),nd("findLast",rd),nd("findLastIndex",rd),nd("flatMap",rd),nd("forEach",rd),nd("map",rd),nd("some",rd),nd("toReversed",rd),nd("reduce",od),nd("reduceRight",od);var id=pc("ObservableArrayAdministration",Xu);function sd(e){return sc(e)&&id(e[Nc])}var cd={},ld="add",ud="delete",dd=function(){function e(e,t,n){var a=this;void 0===t&&(t=$c),void 0===n&&(n="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[Nc]=cd,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,oc(Map)||Hs(18),Bd(function(){a.keysAtom_=Rc("ObservableMap.keys()"),a.data_=new Map,a.hasMap_=new Map,e&&a.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!eu.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var a=n=new Dl(this.has_(e),Bc,"ObservableMap.key?",!1);this.hasMap_.set(e,a),Su(a,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(Fu(this)){var a=Hu(this,{type:n?Ju:ld,object:this,newValue:t,name:e});if(!a)return this;t=a.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Fu(this)&&!Hu(this,{type:ud,object:this,name:e}))return!1;if(this.has_(e)){var n=Ku(this),a=n?{observableKind:"map",debugObjectName:this.name_,type:ud,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return Bu(function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),n&&Yu(this,a),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==eu.UNCHANGED){var a=Ku(this),r=a?{observableKind:"map",debugObjectName:this.name_,type:Ju,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),a&&Yu(this,r)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,Bu(function(){var a,r=new Dl(t,n.enhancer_,"ObservableMap.key",!1);n.data_.set(e,r),t=r.value_,null==(a=n.hasMap_.get(e))||a.setNewValue_(!0),n.keysAtom_.reportChanged()});var a=Ku(this),r=a?{observableKind:"map",debugObjectName:this.name_,type:ld,object:this,name:e,newValue:t}:null;a&&Yu(this,r)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return hd({next:function(){var n=t.next(),a=n.done,r=n.value;return{done:a,value:a?void 0:e.get(r)}}})},t.entries=function(){var e=this,t=this.keys();return hd({next:function(){var n=t.next(),a=n.done,r=n.value;return{done:a,value:a?void 0:[r,e.get(r)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n,a=Cc(this);!(n=a()).done;){var r=n.value,o=r[0],i=r[1];e.call(t,i,o,this)}},t.merge=function(e){var t=this;return pd(e)&&(e=new Map(e)),Bu(function(){cc(e)?function(e){var t=Object.keys(e);if(!fc)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return Js.propertyIsEnumerable.call(e,t)})):t}(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],a=e[1];return t.set(n,a)}):hc(e)?(function(e){var t=Object.getPrototypeOf(e),n=Object.getPrototypeOf(t);return null===Object.getPrototypeOf(n)}(e)||Hs(19,e),e.forEach(function(e,n){return t.set(n,e)})):null!=e&&Hs(20,e)}),this},t.clear=function(){var e=this;Bu(function(){Hl(function(){for(var t,n=Cc(e.keys());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.replace=function(e){var t=this;return Bu(function(){for(var n,a=function(e){if(hc(e)||pd(e))return e;if(Array.isArray(e))return new Map(e);if(cc(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return Hs(21,e)}(e),r=new Map,o=!1,i=Cc(t.data_.keys());!(n=i()).done;){var s=n.value;if(!a.has(s))if(t.delete(s))o=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l,u=Cc(a.entries());!(l=u()).done;){var d=l.value,p=d[0],h=d[1],m=t.data_.has(p);if(t.set(p,h),t.data_.has(p)){var f=t.data_.get(p);r.set(p,f),m||(o=!0)}}if(!o)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),b=r.keys(),y=g.next(),k=b.next();!y.done;){if(y.value!==k.value){t.keysAtom_.reportChanged();break}y=g.next(),k=b.next()}t.data_=r}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return Gu(this,e)},t.intercept_=function(e){return qu(this,e)},xc(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),pd=pc("ObservableMap",dd);function hd(e){return e[Symbol.toStringTag]="MapIterator",Gd(e)}var md={},fd=function(){function e(e,t,n){var a=this;void 0===t&&(t=$c),void 0===n&&(n="ObservableSet"),this.name_=void 0,this[Nc]=md,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,oc(Set)||Hs(22),this.enhancer_=function(e,a){return t(e,a,n)},Bd(function(){a.atom_=Rc(a.name_),e&&a.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;Bu(function(){Hl(function(){for(var t,n=Cc(e.data_.values());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.forEach=function(e,t){for(var n,a=Cc(this);!(n=a()).done;){var r=n.value;e.call(t,r,r,this)}},t.add=function(e){var t=this;if(this.atom_,Fu(this)){var n=Hu(this,{type:ld,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Bu(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var a=Ku(this),r=a?{observableKind:"set",debugObjectName:this.name_,type:ld,object:this,newValue:e}:null;a&&Yu(this,r)}return this},t.delete=function(e){var t=this;if(Fu(this)&&!Hu(this,{type:ud,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Ku(this),a=n?{observableKind:"set",debugObjectName:this.name_,type:ud,object:this,oldValue:e}:null;return Bu(function(){t.atom_.reportChanged(),t.data_.delete(e)}),n&&Yu(this,a),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return bd({next:function(){var t=e.next(),n=t.value,a=t.done;return a?{value:void 0,done:a}:{value:[n,n],done:a}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return bd({next:function(){var n=t.next(),a=n.value,r=n.done;return r?{value:void 0,done:r}:{value:e.dehanceValue_(a),done:r}}})},t.intersection=function(e){return mc(e)&&!gd(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return mc(e)&&!gd(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return mc(e)&&!gd(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return mc(e)&&!gd(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return gd(e)&&(e=new Set(e)),Bu(function(){Array.isArray(e)||mc(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):null!=e&&Hs("Cannot initialize set from "+e)}),this},t.observe_=function(e,t){return Gu(this,e)},t.intercept_=function(e){return qu(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},xc(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),gd=pc("ObservableSet",fd);function bd(e){return e[Symbol.toStringTag]="SetIterator",Gd(e)}var yd=Object.create(null),kd="remove",vd=function(){function e(e,t,n,a){void 0===t&&(t=new Map),void 0===a&&(a=sl),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=n,this.defaultAnnotation_=a,this.keysAtom_=new Dc("ObservableObject.keys"),this.isPlainObject_=cc(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof Tl)return n.set(t),!0;if(Fu(this)){var a=Hu(this,{type:Ju,object:this.proxy_||this.target_,name:e,newValue:t});if(!a)return null;t=a.newValue}if((t=n.prepareNewValue_(t))!==eu.UNCHANGED){var r=Ku(this),o=r?{type:Ju,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),r&&Yu(this,o)}return!0},t.get_=function(e){return eu.trackingDerivation&&!yc(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return void 0===n&&(n=!1),yc(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!eu.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new Dl(e in this.target_,Bc,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[Lc])&&n[e])return;Hs(1,t.annotationType_,this.name_+"."+e.toString())}for(var a=this.target_;a&&a!==Js;){var r=Qs(a,e);if(r){var o=t.make_(this,e,r,a);if(0===o)return;if(1===o)break}a=Object.getPrototypeOf(a)}Cd(this,0,e)}},t.extend_=function(e,t,n,a){if(void 0===a&&(a=!1),!0===n&&(n=this.defaultAnnotation_),!1===n)return this.defineProperty_(e,t,a);var r=n.extend_(this,e,t,a);return r&&Cd(this,0,e),r},t.defineProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{ru();var a=this.delete_(e);if(!a)return a;if(Fu(this)){var r=Hu(this,{object:this.proxy_||this.target_,name:e,type:ld,newValue:t.value});if(!r)return null;var o=r.newValue;t.value!==o&&(t=zc({},t,{value:o}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else Ws(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{ou()}return!0},t.defineObservableProperty_=function(e,t,n,a){void 0===a&&(a=!1),this.keysAtom_;try{ru();var r=this.delete_(e);if(!r)return r;if(Fu(this)){var o=Hu(this,{object:this.proxy_||this.target_,name:e,type:ld,newValue:t});if(!o)return null;t=o.newValue}var i=_d(e),s={configurable:!eu.safeDescriptors||this.isPlainObject_,enumerable:!0,get:i.get,set:i.set};if(a){if(!Reflect.defineProperty(this.target_,e,s))return!1}else Ws(this.target_,e,s);var c=new Dl(t,n,"ObservableObject.key",!1);this.values_.set(e,c),this.notifyPropertyAddition_(e,c.value_)}finally{ou()}return!0},t.defineComputedProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{ru();var a=this.delete_(e);if(!a)return a;if(Fu(this)&&!Hu(this,{object:this.proxy_||this.target_,name:e,type:ld,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var r=_d(e),o={configurable:!eu.safeDescriptors||this.isPlainObject_,enumerable:!1,get:r.get,set:r.set};if(n){if(!Reflect.defineProperty(this.target_,e,o))return!1}else Ws(this.target_,e,o);this.values_.set(e,new Tl(t)),this.notifyPropertyAddition_(e,void 0)}finally{ou()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!yc(this.target_,e))return!0;if(Fu(this)&&!Hu(this,{object:this.proxy_||this.target_,name:e,type:kd}))return null;try{var n;ru();var a,r=Ku(this),o=this.values_.get(e),i=void 0;if(!o&&r&&(i=null==(a=Qs(this.target_,e))?void 0:a.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(o&&(this.values_.delete(e),o instanceof Dl&&(i=o.value_),su(o)),this.keysAtom_.reportChanged(),null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(e in this.target_),r){var s={type:kd,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:i,name:e};r&&Yu(this,s)}}finally{ou()}return!0},t.observe_=function(e,t){return Gu(this,e)},t.intercept_=function(e){return qu(this,e)},t.notifyPropertyAddition_=function(e,t){var n,a=Ku(this);if(a){var r=a?{type:ld,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;a&&Yu(this,r)}null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),gc(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function wd(e,t){var n;if(yc(e,Nc))return e;var a=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",r=new vd(e,new Map,String(a),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:cl(e):void 0}(t));return uc(e,Nc,r),e}var jd=pc("ObservableObjectAdministration",vd);function _d(e){return yd[e]||(yd[e]={get:function(){return this[Nc].getObservablePropValue_(e)},set:function(t){return this[Nc].setObservablePropValue_(e,t)}})}function xd(e){return!!sc(e)&&jd(e[Nc])}function Cd(e,t,n){var a;null==(a=e.target_[Lc])||delete a[n]}var zd,Sd,Ed=Id(0),Od=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),Ld=0,Ad=function(){};zd=Ad,Sd=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(zd.prototype,Sd):void 0!==zd.prototype.__proto__?zd.prototype.__proto__=Sd:zd.prototype=Sd;var Pd=function(e){function t(t,n,a,r){var o;return void 0===a&&(a="ObservableArray"),void 0===r&&(r=!1),o=e.call(this)||this,Bd(function(){var e=new Xu(a,n,r,!0);e.proxy_=o,dc(o,Nc,e),t&&t.length&&o.spliceWithArray(0,0,t),Od&&Object.defineProperty(o,"0",Ed)}),o}Sc(t,e);var n=t.prototype;return n.concat=function(){this[Nc].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map(function(e){return sd(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Gd({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},xc(t,[{key:"length",get:function(){return this[Nc].getArrayLength_()},set:function(e){this[Nc].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(Ad);function Id(e){return{enumerable:!1,configurable:!0,get:function(){return this[Nc].get_(e)},set:function(t){this[Nc].set_(e,t)}}}function Nd(e){Ws(Pd.prototype,""+e,Id(e))}function Dd(e){if(e>Ld){for(var t=Ld;t<e+100;t++)Nd(t);Ld=e}}function Td(e,t,n){return new Pd(e,t,n)}function Rd(e,t){if("object"==typeof e&&null!==e){if(sd(e))return void 0!==t&&Hs(23),e[Nc].atom_;if(gd(e))return e.atom_;if(pd(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||Hs(25,t,$d(e)),n}if(xd(e)){if(!t)return Hs(26);var a=e[Nc].values_.get(t);return a||Hs(27,t,$d(e)),a}if(Tc(e)||$l(e)||hu(e))return e}else if(oc(e)&&hu(e[Nc]))return e[Nc];Hs(28)}function Md(e,t){return e||Hs(29),void 0!==t?Md(Rd(e,t)):Tc(e)||$l(e)||hu(e)||pd(e)||gd(e)?e:e[Nc]?e[Nc]:void Hs(24,e)}function $d(e,t){var n;if(void 0!==t)n=Rd(e,t);else{if(_u(e))return e.name;n=xd(e)||pd(e)||gd(e)?Md(e):Rd(e)}return n.name_}function Bd(e){var t=Kl(),n=Il(!0);ru();try{return e()}finally{ou(),Nl(n),Gl(t)}}Object.entries(td).forEach(function(e){var t=e[0],n=e[1];"concat"!==t&&uc(Pd.prototype,t,n)}),Dd(1e3);var Ud,Vd=Js.toString;function Fd(e,t,n){return void 0===n&&(n=-1),qd(e,t,n)}function qd(e,t,n,a,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;if("function"!==o&&"object"!==o&&"object"!=typeof t)return!1;var i=Vd.call(e);if(i!==Vd.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0===+e?1/+e==1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":n>=0&&n++}e=Hd(e),t=Hd(t);var s="[object Array]"===i;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(oc(c)&&c instanceof c&&oc(l)&&l instanceof l)&&"constructor"in e&&"constructor"in t)return!1}if(0===n)return!1;n<0&&(n=-1),r=r||[];for(var u=(a=a||[]).length;u--;)if(a[u]===e)return r[u]===t;if(a.push(e),r.push(t),s){if((u=e.length)!==t.length)return!1;for(;u--;)if(!qd(e[u],t[u],n-1,a,r))return!1}else{var d=Object.keys(e),p=d.length;if(Object.keys(t).length!==p)return!1;for(var h=0;h<p;h++){var m=d[h];if(!yc(t,m)||!qd(e[m],t[m],n-1,a,r))return!1}}return a.pop(),r.pop(),!0}function Hd(e){return sd(e)?e.slice():hc(e)||pd(e)||mc(e)||gd(e)?Array.from(e.entries()):e}var Kd=(null==(Ud=Gs().Iterator)?void 0:Ud.prototype)||{};function Gd(e){return e[Symbol.iterator]=Yd,Object.assign(Object.create(Kd),e)}function Yd(){return this}if(["Symbol","Map","Set"].forEach(function(e){void 0===Gs()[e]&&Hs("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:$d},$mobx:Nc}),!Gn.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!Qu)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");var Qd=n(467);function Wd(e){e()}function Jd(e){return Au(Rd(e,t));var t}var Zd,Xd,ep=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var n=Date.now();t.registrations.forEach(function(a,r){n-a.registeredAt>=e&&(t.finalize(a.value),t.registrations.delete(r))}),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,n){this.registrations.set(n,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),tp=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:ep)(function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null}),np=n(413);function ap(e){e.reaction=new cu("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)})}var rp="function"==typeof Symbol&&Symbol.for,op=null!==(Xd=null===(Zd=Object.getOwnPropertyDescriptor(function(){},"name"))||void 0===Zd?void 0:Zd.configurable)&&void 0!==Xd&&Xd,ip=rp?Symbol.for("react.forward_ref"):"function"==typeof Gn.forwardRef&&(0,Gn.forwardRef)(function(e){return null}).$$typeof,sp=rp?Symbol.for("react.memo"):"function"==typeof Gn.memo&&(0,Gn.memo)(function(e){return null}).$$typeof;function cp(e,t){var n;if(sp&&e.$$typeof===sp)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var a=null!==(n=null==t?void 0:t.forwardRef)&&void 0!==n&&n,r=e,o=e.displayName||e.name;if(ip&&e.$$typeof===ip&&(a=!0,"function"!=typeof(r=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,s,c=function(e,t){return function(e,t){void 0===t&&(t="observed");var n=Gn.useRef(null);if(!n.current){var a={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return tp.unregister(a),a.onStoreChange=e,a.reaction||(ap(a),a.stateVersion=Symbol()),function(){var e;a.onStoreChange=null,null===(e=a.reaction)||void 0===e||e.dispose(),a.reaction=null}},getSnapshot:function(){return a.stateVersion}};n.current=a}var r,o,i=n.current;if(i.reaction||(ap(i),tp.register(n,i,i)),Gn.useDebugValue(i.reaction,Jd),(0,np.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),i.reaction.track(function(){try{r=e()}catch(e){o=e}}),o)throw o;return r}(function(){return r(e,t)},o)};return c.displayName=e.displayName,op&&Object.defineProperty(c,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),a&&(c=(0,Gn.forwardRef)(c)),c=(0,Gn.memo)(c),i=e,s=c,Object.keys(i).forEach(function(e){lp[e]||Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(i,e))}),c}var lp={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function up(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=Wd),Lu({reactionScheduler:e})}(Qd.unstable_batchedUpdates),tp.finalizeAllImmediately;var dp=Symbol("patchMixins"),pp=Symbol("patchedDefinition");function hp(e,t){for(var n=this,a=arguments.length,r=new Array(a>2?a-2:0),o=2;o<a;o++)r[o-2]=arguments[o];t.locks++;try{var i;return null!=e&&(i=e.apply(this,r)),i}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,r)})}}function mp(e,t){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];hp.call.apply(hp,[this,e,t].concat(a))}}function fp(e,t,n){var a=function(e,t){var n=e[dp]=e[dp]||{},a=n[t]=n[t]||{};return a.locks=a.locks||0,a.methods=a.methods||[],a}(e,t);a.methods.indexOf(n)<0&&a.methods.push(n);var r=Object.getOwnPropertyDescriptor(e,t);if(!r||!r[pp]){var o=e[t],i=gp(e,t,r?r.enumerable:void 0,a,o);Object.defineProperty(e,t,i)}}function gp(e,t,n,a,r){var o,i=mp(r,a);return(o={})[pp]=!0,o.get=function(){return i},o.set=function(r){if(this===e)i=mp(r,a);else{var o=gp(this,t,n,a,r);Object.defineProperty(this,t,o)}},o.configurable=!0,o.enumerable=n,o}var bp=Symbol("ObserverAdministration"),yp=Symbol("isMobXReactObserver");function kp(e){var t;return null!=(t=e[bp])?t:e[bp]={reaction:null,mounted:!1,reactionInvalidatedBeforeMount:!1,forceUpdate:null,name:vp(e.constructor),state:void 0,props:void 0,context:void 0}}function vp(e){return e.displayName||e.name||"<component>"}function wp(e){var t=e.bind(this),n=kp(this);return function(){n.reaction||(n.reaction=function(e){return new cu(e.name+".render()",function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(n){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0})}(n),n.mounted||tp.register(this,n,this));var e=void 0,a=void 0;if(n.reaction.track(function(){try{a=function(e,t){var n=Il(e);try{return t()}finally{Nl(n)}}(!1,t)}catch(t){e=t}}),e)throw e;return a}}function jp(e,t){return this.state!==t||!function(e,t){if(up(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(var r=0;r<n.length;r++)if(!Object.hasOwnProperty.call(t,n[r])||!up(e[n[r]],t[n[r]]))return!1;return!0}(this.props,e)}function _p(e,t){if(t&&"class"!==t.kind)throw new Error("The @observer decorator can be used on classes only");return!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(Gn.Component,e)||Object.prototype.isPrototypeOf.call(Gn.PureComponent,e)?function(e){var t=e.prototype;if(e[yp]){var n=vp(e);throw new Error("The provided component class ("+n+") has already been declared as an observer component.")}if(e[yp]=!0,t.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==Gn.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==jp)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else t.shouldComponentUpdate=jp;var a=t.render;if("function"!=typeof a){var r=vp(e);throw new Error("[mobx-react] class component ("+r+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}t.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:wp.call(this,a)}),this.render()};var o=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=kp(this);return t.mounted=!0,tp.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==o?void 0:o.apply(this,arguments)},fp(t,"componentWillUnmount",function(){var e,t=kp(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}),e}(e):cp(e)}if(Gn.version.split(".")[0],!Gn.Component)throw new Error("mobx-react requires React to be available");if(!_l)throw new Error("mobx-react requires mobx to be available");const xp=new class{offersById=new Map;constructor(){this.clear=this.clear.bind(this),this.initializeOfferById=this.initializeOfferById.bind(this),this.updateOfferDirectoInfo=this.updateOfferDirectoInfo.bind(this),this.updateOfferDisplayPrices=this.updateOfferDisplayPrices.bind(this),this.updateOfferAlternativeOffers=this.updateOfferAlternativeOffers.bind(this),this.updateOfferListingPrice=this.updateOfferListingPrice.bind(this),this.updateBacklink=this.updateBacklink.bind(this),Qu(this,{offersById:_l,clear:wu,initializeOfferById:wu,updateOfferDirectoInfo:wu,updateOfferDisplayPrices:wu,updateOfferAlternativeOffers:wu,updateOfferListingPrice:wu,updateBacklink:wu})}clear(){this.offersById.clear()}initializeOfferById(e){this.offersById.has(e)||this.offersById.set(e,{directoInfo:{type:"loading"},displayPrices:{type:"loading"},listingPrice:{type:"loading"},alternativeOffers:{type:"loading"},backlink:{type:"loading"}})}updateOfferDirectoInfo(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,directoInfo:t})}updateOfferDisplayPrices(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,displayPrices:t})}updateOfferAlternativeOffers(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,alternativeOffers:t})}updateOfferListingPrice(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,listingPrice:t})}updateBacklink(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,backlink:t})}};function Cp(e,t){return"loading"===e.type||"error"===e.type?t:e.data}function zp(e,t){return"error"===e.type?t:e.data}function Sp(e){return{type:"loaded",data:e}}function Ep(e){return{type:"error"}}const Op=({icon:e,text:t,check:n})=>(0,Qr.jsxs)("div",{className:"directo_popover__bullet-point "+(n?"":"directo_popover__bullet-text-disabled"),children:[e,(0,Qr.jsx)("span",{className:"directo_popover__bullet-text",children:t}),n&&(0,Qr.jsx)("span",{className:"directo_popover__bullet-check",children:"✓"})]}),Lp=_p(({item:e,isDirectoExtension:t})=>{const n=Cp(xp.offersById.get(e.source_id)?.displayPrices??Sp(null),null),a=!!e.discount||!!n?.thereIsDiscount,r=!!e.coupon,o=e.score&&e.score>50?Math.ceil((e.score||0)/10):0,i=!ss(e.directo_url),s=t?[...i?[{icon:(0,Qr.jsx)(Us,{style:{height:16,width:16}}),text:Gr("secondary_cta.popover.support_hotel"),check:!0}]:[],{icon:(0,Qr.jsx)(Vs,{style:{height:16,width:16}}),text:Gr("secondary_cta.popover.coupon.text_checked"),check:r,hide:!r},{icon:(0,Qr.jsx)(Bs,{style:{height:16,width:16}}),text:a?Gr("secondary_cta.popover.discount.text_checked",{discount:e.discount}):Gr("secondary_cta.popover.discount.text_unchecked"),check:a},{icon:(0,Qr.jsx)(Rs,{style:{height:16,width:16}}),text:o?Gr("secondary_cta.popover.feedback.text_checked",{positiveFeedback:o}):Gr("secondary_cta.popover.feedback.text_unchecked"),check:!!o}]:[{icon:(0,Qr.jsx)(Us,{style:{height:16,width:16}}),text:Gr("secondary_cta.popover.support_hotel"),check:!0}];return(0,Qr.jsx)("div",{className:"directo_popover__bullet-points",children:(c=s,l="check",u="desc",null==c?[]:(ne(l)||(l=null==l?[]:[l]),ne(u=d?void 0:u)||(u=null==u?[]:[u]),Is(c,l,u))).map((e,t)=>!e.hide&&(0,Qr.jsx)(Op,{...e},t))});var c,l,u,d}),Ap=({item:e,isDirectoExtension:t})=>{const n=e.directo_url?Fr(e.directo_url):"";return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsxs)("div",{className:"directo_popover__header",children:[(0,Qr.jsx)("div",{className:"directo_popover__header-text",children:Gr("secondary_cta.popover.header.text")}),(0,Qr.jsx)("div",{className:"directo_popover__domain",children:(0,Qr.jsx)("span",{className:"directo_popover__domain-text",children:n})})]}),(0,Qr.jsx)(Lp,{item:e,isDirectoExtension:t})]})},Pp={USD:1,EUR:.92,GBP:.79,CAD:1.35,AUD:1.54,CHF:.89,JPY:149.5,NOK:10.8,SEK:10.7,DKK:6.9,PLN:4.1,BRL:5,INR:83.2,ARS:350,CLP:880,COP:4100,MXN:17.5,PEN:3.8,UYU:39.5};function Ip(e){return Pp[e]||1}function Np(e,t=2){try{return!!(e.displayedDirectoPrice&&e.displayedOtaPrice&&e.thereIsDiscount&&e.displayedCurrency)&&(n=e.displayedOtaPrice,a=e.displayedDirectoPrice,Math.round((n-a)/((n+a)/2)*100)>=t)}catch(e){return!1}var n,a}function Dp(e,t){return e.toLocaleString($n(),{style:"currency",currency:t,currencyDisplay:"symbol",minimumFractionDigits:0})}function Tp(e){if(Number.isNaN(e.otaTotalPrice)||Number.isNaN(e.directoPrice)||e.otaTotalPrice<=0||e.directoPrice<=0)return null;const t=e.directoIsNightly?e.lengthOfStay?e.directoPrice*e.lengthOfStay:null:e.directoPrice;if(null===t)return null;const{price1:n,price2:a}=function(e,t,n,a,r){const o=e/Ip(t),i=n/Ip(a),s=Ip(r);return{price1:o*s,price2:i*s,currency:r}}(e.otaTotalPrice,e.otaCurrency,t,e.directoCurrency,e.displayCurrency),r=di(n),o=di(a),i=Math.max(r-o,0),s=i>0;return{displayedOtaPrice:r,displayedDirectoPrice:o,displayedPriceDifference:i,displayedCurrency:e.displayCurrency,thereIsDiscount:s}}const Rp=Date.now(),Mp=function(){let e="";let t=0;for(;t<14;)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),t+=1;return e}();async function $p(){const{hostname:e}=new URL(window.location.href);return{engagement_time_msec:""+(Date.now()-Rp),session_id:Mp,user_id_dimension:await yr(),platform:(vo(window.location.href)||e).toLowerCase(),page_location:window.location.href,page_title:window.document.title,page_referrer:window.document.referrer,language:window.navigator.language,screen_resolution:`${window.screen.availHeight}x${window.screen.availWidth}`}}async function Bp(){return{user_id:await yr(),client_id:"GTM-PQTC3VG"}}async function Up(e){return{events:e,...await Bp()}}async function Vp(e,t={}){return{name:e,params:{...await $p(),...t}}}function Fp(e){if(e.status>=200&&e.status<300)return e;throw new Error(e.statusText)}function qp(e,t){const n=function(e){const t=new URL(`https://www.google-analytics.com${e}`);return Object.entries({api_secret:"GE9ObhGLSdmUus1uyoSEaw",measurement_id:"G-KXK74ZXW09"}).forEach(([e,n])=>{if(Array.isArray(n)&&n.length)return n.forEach(n=>t.searchParams.append(e,n));t.searchParams.append(e,n)}),t}(e);return fetch(n.toString(),{body:JSON.stringify(t),method:"POST"}).then(Fp).catch(console.error)}const Hp=(e="/mp/collect")=>({async pageView(t,n={}){const a=await Vp("page_view",{page_location:t,...n}),r=await Up([a]);return qp(e,r)},async event(t,n={}){const a=await Vp(t,n),r=await Up([a]);return qp(e,r)},async exception(t={}){const n=await Vp("exception",t),a=await Up([n]);return qp(e,a)}}),Kp=Hp(),Gp="click_out_ext_secondary";function Yp({className:e,displayPrices:t,item:n,cta:a,getSecondaryCtaSvg:r,isDirectoExtension:o,backlink:i}){const s=t&&!!t.displayedDirectoPrice&&!!t.displayedOtaPrice&&t.thereIsDiscount,c=s?Gr("secondary_cta.save",{price:Dp(t.displayedPriceDifference,t.displayedCurrency)}):function(e,t){if(!t)return Gr("secondary_cta.compare_price");const n=e.directo_url?Fr(e.directo_url):"";return e.discount?"reservation.barcelo.com"===n?Gr("secondary_cta.book_with_discount_barcelo"):Gr("secondary_cta.book_with_discount",{discount:e.discount}):Gr("secondary_cta.compare_price")}(n,o),l=s||!!o&&!!n.discount;return(0,Qr.jsxs)("button",{onClick:e=>{const t=is(n.directo_url);Kp.event(Gp,{outbound_url:t}),Zm.navigateToDirectLink(t,a,{parametrised:n.stay_parametrised,sourceId:n.source_id,coupon:n.coupon,verified:n.verified,discount:n.discount,stayParams:n.stayParams,directPrice:n.pricing??null,backlink:i}),e.stopPropagation()},className:Zo(e,l?"directo-cta-button-shine":"directo-cta-button-dark"),disabled:!n.directo_url,children:[r(l),c,(0,Qr.jsx)(Ms,{})]})}function Qp(e){return`\n.directo-cta-button-shine:hover {\n background-color: #edb602;\n}\n\n.directo-cta-button-shine {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #FDC307;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: ${e};\n position: relative;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.directo-cta-button-shine {\n overflow: hidden;\n}\n\n.directo-cta-button-shine::before {\n background: linear-gradient(to right, rgba(216, 182, 182, 0) 0%, #ffffffbe);\n content: '';\n display: block;\n height: 100%;\n left: -75%;\n position: absolute;\n top: 0;\n transform: skewX(-25deg);\n width: 50%;\n z-index: 2;\n -webkit-animation: shine 2s ease-in-out infinite;\n animation: shine 2s ease-in-out infinite;\n}\n\n@keyframes shine {\n 100% {\n left: 125%;\n }\n}\n\n.directo-cta-button-dark {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: ${e};\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #ffffff;\n position: relative;\n}\n`}const Wp="\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n\n.secondary-button:hover:before{\n opacity: 1;\n}\n\n.secondary-button:hover:active{\n background: none;\n}\n\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n";function Jp(e){return(0,Qr.jsxs)("div",{className:"popover","data-direction":"top",children:[(0,Qr.jsx)("div",{className:"popover__trigger",children:e.children}),(0,Qr.jsx)("div",{className:"popover__content",children:e.popover})]})}const Zp="\n.popover {\n position: relative;\n z-index: auto;\n}\n\n.popover__content {\n position: absolute;\n min-width: 130px;\n // width: 362px;\n width: 300px;\n text-align: left;\n display: flex;\n padding: 1rem; /* p-4 */\n visibility: hidden;\n overflow: hidden;\n opacity: 0;\n background: white;\n transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);\n color: #0f172a;\n border-radius: 0.5rem; /* Tailwind rounded-lg */\n font-weight: 500;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),\n 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n z-index: 999999999;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n background-color: #ffffff;\n\n /* Needed to prevent some element (like images) inside popover breaking mouse interactions,\n since they are only visually hidden but still present and breaking hover, clicks, etc. */\n pointer-events: none;\n}\n\n.popover__trigger {\n cursor: pointer;\n z-index: 5;\n}\n\n.popover[data-direction=top] .popover__trigger:hover ~ .popover__content {\n transform: translate3d(-50%, 0, 0);\n visibility: visible;\n opacity: 1;\n}\n.popover[data-direction=top] .popover__content {\n bottom: calc(100% + .5rem);\n left: 50%;\n transform: translate3d(-50%, -15px, 0);\n}\n.popover[data-direction=top] .popover__content:after {\n bottom: -0.5em;\n left: 50%;\n transform: translate3d(-50%, 0, 0);\n border-width: 0 0.5em 0.5em 0.5em;\n border-color: transparent transparent white transparent;\n filter: drop-shadow(1px -1px 1px #bcbcbc);\n}\n",Xp="\n.directo_popover__directo-logo {\n width: 20px;\n height: 20px;\n margin-left: 2px;\n visibility: visible;\n opacity: 1;\n}\n\n/* Title */\n.directo_popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.directo_popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.directo_popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.directo_popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.directo_popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.directo_popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.directo_popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.directo_popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.directo_popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n\n.directo_popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n",eh=_p(({item:e,cta:t,getSecondaryCtaSvg:n,isDirectoExtension:a,backlink:r})=>{const o=Cp(xp.offersById.get(e.source_id)?.displayPrices??Sp(null),null);return(0,Qr.jsx)(Yp,{displayPrices:o??null,item:e,cta:t,getSecondaryCtaSvg:n,isDirectoExtension:a,backlink:r})}),th=_p(e=>{const t=xp.offersById.get(e.sourceId);if(!t)return null;const{directoInfo:n,backlink:a}=t;if(!n||"loaded"!==n.type)return null;const r=n.data;return r?(0,Qr.jsx)(Jp,{popover:(0,Qr.jsx)(Ap,{item:r,isDirectoExtension:e.isDirectoExtension}),children:(0,Qr.jsx)(eh,{item:r,cta:e.cta,getSecondaryCtaSvg:e.getSecondaryCtaSvg,isDirectoExtension:e.isDirectoExtension,backlink:Cp(a,null)})}):null}),nh=({offer:{price:e,currency:t,providerName:n},providerSvgLogo:a,providerLogo:r,listingPrice:o,bestOffer:i,thereIsDiscount:s})=>{const c=null!==o?di(o.totalPrice)-e:null;return(0,Qr.jsxs)(Qr.Fragment,{children:[(0,Qr.jsxs)("div",{className:"popover__header",children:[(0,Qr.jsxs)("div",{className:"popover__header-text",children:[Gr(i&&s?"offers.best_offer":"offers.popover.header.text")," ",r?(0,Qr.jsx)("img",{className:"popover__offer-provider-logo",src:r}):a]}),(0,Qr.jsx)("div",{className:"popover__domain",children:(0,Qr.jsx)("span",{className:"popover__domain-text",children:n})})]}),(0,Qr.jsx)("span",{style:{color:s?"green":"auto",fontSize:s?"20px":"16px"},children:s&&null!==c?Gr("offers.save",{price:Dp(Math.round(c),t)}):Gr("offers.no_discount",{provider:n})})]})},ah="\n.offers-container {\n display: flex;\n gap: 10px;\n}\n.offers-container.offers-container-vertical {\n flex-direction: column;\n}\n.offers-container.offers-container-horizontal {\n flex-direction: row-reverse;\n}\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n.secondary-button:hover:before{\n opacity: 1;\n}\n.secondary-button:hover:active{\n background: none;\n}\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n\n.directo-cta-button-light {\n box-shadow: 0 0 5px 1px rgba(253, 195, 7, 0.5);\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n align-items: center;\n color: #000141;\n position: relative;\n}\n\n.directo-cta-provider-logo {\n margin-right: auto;\n max-height: 2rem;\n max-width: 5rem;\n}\n\n.directo-cta-button-light-shadow-pulse {\n animation: pulse-shadow 2s infinite ease-in-out;\n background-color: #edb602;\n}\n\n@keyframes pulse-shadow {\n 0% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n 50% {\n box-shadow: 0 0 20px 10px rgba(253, 195, 7, 0.7);\n }\n 100% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n.popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n\n.popover__header-text img {\n max-height: 2rem;\n max-width: 5rem;\n margin-left: 8px;\n}\n.popover__offer-provider-logo {\n margin-left: 6px;\n visibility: visible;\n opacity: 1;\n transform: scale(1.2) translateY(4px);\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n/* Skeleton Loader Styles */\n.skeleton-button {\n position: relative;\n width: 100%;\n height: 36px;\n background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);\n background-size: 200% 100%;\n border-radius: 4px;\n overflow: hidden;\n animation: skeleton-loading 1.5s ease-in-out infinite;\n}\n\n.skeleton-shine {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);\n animation: skeleton-shine 1.5s ease-in-out infinite;\n}\n\n@keyframes skeleton-loading {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@keyframes skeleton-shine {\n 0% {\n left: -100%;\n }\n 100% {\n left: 100%;\n }\n}\n\n/* Empty State Styles */\n.empty-state-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.empty-state-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n text-align: center;\n max-width: 320px;\n}\n\n.empty-state-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n}\n.empty-state-icon {\n width: 24px\n}\n",rh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAYAAADV2ImkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwaSURBVHgB7Vl5jFXVGf+du7335s3K7AgCioqQWhWVtpg4iq0akVBbjEUtRdtKamrb1MZKY2KUWv9oTVWUaCqgSBFwSbS1LlSpaCUhpiLrFBiwDsww896bmbfe/fT77r0PBpkFXP5o6pmc3Pvucs7v/L7ft5w7wJftC21Cwf9Y0/A5N/m39yb6W7YsRKFYsKZfuLriulkH8Tk2gc/Q5PMvXSg/3L0EBdMRp076jXnJhdnYaxvfREfnRJgW4Kp7xFUXz3ATxjnq5u13oncgJqrGLBIP/2wPPl0Tn4VhIdv3rMPh1ERAgdzXcWUs29+Lw70tUDwgTlxY7hlyR/su1fWakRoASiXI/tyfpJRtQgiJk2/ypBiW27dX4oNd30B/wbSnThqnP/fyM/A8gVgMULVoOBl2Sd2n34QdPnXXAWzqA7b02mbO1CqScfejLk377a0bTgK8OCnA3tInnhS7P1oYAGuq85FJqeC5FPZdJRwuwCuPHgPAhNjnczradNSTPhRNoCcLYRgPiHVLFp8ohhMGLB98MCG3bCugZoyATmwqKvWIGDm4DwLrl18WR5/jax6d2LSSfBFeuj+lbVrdJEIoozE9eliTMhhDuf2xx3ykMllIN5zVi0zME7tRd+ie7UbX6ei64TU36p4XLqSM3HdgF/q6L4VQEZhoVAJH1bC45557xOzW1jHTEk3XxnZsfQCZTF34KnWNmE6QfqurANMEsiVyNAIr/YhdEcpFi+Ti+iG7PC1JRDoeqcRIuadN/Gl2xnlvtlw7M00E+SNoelQNK4dXrpzUsCe9Ab3picLK0UR2eEfXgbMmAQu/DzTUEzQC8K8PgRXPkmMVQibZgKc0AYsWQFZVw7zvD4j3ZELA1INHhE6PJWnA2L72OmXG2Y8u7sNRMR0HeKSwxosRta++M1/05ydCJ6sZ1FUlZK21Abj1FjJmDOmVa1Bx9hTELzgX/pwBCPotfHpGF/CvmgXUNyL19Bq477yL+rHjaa0xBKGQDeW7EG4B0vRPb0r736ZLK6K5h2RZGQWwYn2wvRvpbjJ5PgxNjhPq8YLzAWKt65FlOPTA/dh1y80w+/rhTJtGlmeze/DPmABx0XTkOw8hu3YdsSlg9Q2Q/G2SgwNJWvdKBdh9PSh270X/wfZunpNliKH1LJXhmG1ra+N76n1m98uO7XwcarDsYDRZU0MgVberG1WxClQrGuz+fngxA6ZtwW+ohvjxApSyBWSWPYFYoQSFxmCwTqEI1yrBJbB8dGi8kuJsPX37O29PnjxZ2bhx47BEDnWDTSFyuRwDV5VvzTGUtkuKwaMcT70QtGSmSIT65NNgGHEkTxmLWGsLrM6DyB06CGf2FbDiFci8+jr8tzdBIz2zK/kkAddksBTS7BJ1k+RMeh475WOaT9+7d69GgIfzrSCcHHdx3rx5yoYNG9RXHn587K3VzX9V2jvOBrERZjAEDlVq3w3/sktR8fWLYEw9C5Xzr4efTCKz6s+wcllU/eJ25A91YWDJ/YhR6FM469F7LAtBppEsGVq8T+zyMaYaZ/7q4jln9JxW/xdbUVyyMHbu3Dmk+Y+lV9J6RbAQfaBtzneqLLEKMSVIEoGA2PODMsFCpqURFb/8OWLjx8PL5ZBa/wIyzz6L8WueAerqkXloKfDKq1CMGJRkJfRCAYYMS8QgURBw3w9DHfFPkU5Bp+fPmr7z7X/SIw5h8cQnAtlxUUJETzQ3Nyv5dF8uqRBSUSFghNmtnI9U1UBs915kbvoB/HiMTOvShBI1ty2CaGnBwN//gYHXX0Pjr+9A9RXfpEyswuvPwlz7PPw1a6HJMCn5nku4iXFyZBrD74nJ0rhx40RnZ2cZyzHRYkhxT506VTl8+LCYsm3Tu3vSvUvNfC4YnJ0syLxkAIWcLJGsQW1FHWqUODleEuqESai5YT6sdB/SD/8RFTcvQMXll6GfNNx+/+8opzhQbroBhfFj4RBQj+Tg0tGmY94q4oDqLrlu97Z/E9ggQkVZFiMB5swWaKehoUGQJrXzOnc+6NZUbZFBamDAYcDnVxXdoCLNACvIIwar7r6TnKmE/tWrIShiJGdfjVIqjb133Qlz3VrsX7kcNqVj67zzKaM7cNgBGThpOKOqL13Z2bE8F2JSpk+ffsTaw0pCRgJm4KlUKjje+72bJlQbTV/x9+8jk4egy44X0ECJhBeg33wjjDPPQuatjXDXPwdjTB0EOWHx40OIUz2RoPKz2NUVJFe3MgnTtaEzCVEl19Q6eeblKmrfOnjALJDWS6XSkLF4SIa51dXVBQ8vyhtfox1EnN0i0BxNwLrzHCc40i94zQ2Iz50LO5tHbumjiHMZSU4oKXQZLc1wyAEtWmzlOV9lO6O048Mg9jqk20AaxLTX1VH/IxmbwWAZB1uZsAQcDgu4XHRQ8EZfX1/AZfHAXsfJZeBSvHQp6LuORedWED+9YEIbxl13kGmpPH5qJeLd3QhCTLGI9LJlUJMVmPjUCox7+ilMuPEGlDo64G5+j97zYNG7DNoi8MVSTg4U+0oRq4IwHCHvGIw4vin0MAdwTviJec3jmh6qablXg5yrV1ZBcE1xpAyWKE45He7130XhwEewn1yOBGc0cGHmIaeSycnJai6bBT2eQH7XDvQ8shQVlFw0hHHZp4XarufkdfWFa1Ndiy3LYoq506aQc1NQvY0ImK+xthlwBfVkDDHj6pam6sebxr+oqtopLIMgatAfs9RfLATllU5hT1XCUpx17VJyKJBFssSiSxc0mlinzsFRRIU+KXXrbZmeH+4vFvNKPF4yTZPBlsjp7Pfff7+8wRpaEuUFsIci5DF4wYKlbc6m3YQeb2YkHunOJQ07XMTTUwmKFnFyKoXf9kOdEzGU3WjVVBDWqjp1CoOUdNSgLiLde36Q4VTHb2ovFl3K7yxJv7q6mgH6BLZc6WMkwCxyVFVVlTczfgTarU8kSm4u77oWadkOwfLR5ULICwGGQKgop1rDdcOQ5ZM0OBL4XLD7IVCWC4c0h57zpJePMdFCeBQZ/Gw262OErdKQ9XBjY2OwOooUPjkf74ncbel0cptR9+hYXf+JKb0iwfSTRqxRkE4ZlMes0p8vQ7kEsxJITzJAAsrRhGXCzum7HboUtUJ6Slpoy6VhGHaoXTciSA4HeriqKCgtEeo4Ti1J2kog1DRfVxc0n5JcnKh6Q1EU4RBgm5nlVChEBDyUhsPscs0QmEvClMK53S217ctk/EEAi9zJsiWqEvncwdEPBMe046o1GVZUQWghswoyER+V8iJ0XVcJiLa1kJPzE5XnKq7XyoDz8A71eM7WuO+fytz45HAlMnlKyA2m4ySE71dxKOuB//KKTGozjeOrquppmkZr9cxkMmnl83mLIpSTyWTKLI/O8NFkF0YLkofR29tbjhjMcjzq6tW1DfG5mnGJpwv397mBTZ2mKVc3jr271rYvJ+XiP6qyalGm94mLkkljtqJdQNvU6qdLhTcOmPwdK2DXjsViJbJSkRZQInJMcniHo0OUdeWogD9xj1kth7hYBDgRnRvRvfL2XCG22BpYWFd/aj+F6Bf70ym6Vp7Up3s+M+tQY9kSIO6kNpMTBq0HFtXi3rRp0yRnuaFYHmkTOugDQsCGUllZKchswNHooSPSdAQ8iDqrcgP7GTiDpWN5DBmN4xFYx7ZtZpm34OaYMWMskgHfkyOBLbM4NNpQGnIQGK22tjZGetMIRJxCkBEB1gYDJgYFERiMS+e013QGh0gG5ZAT28SqQ05mkZOxgwVOxuyuX79+xLB2Ip+qAgckbamkLS0CqZOTaFSoBLIgHQYOSWlVIfYCiRCDMnrXp/se3WOLeIlEgirQkh2xW44G5Ygw+KPXkO2EPlWxA1xzzTUe7bN4Aqu1tbVEYFl3HDvzZPoCeTxrJU9Ag873iMk8AcwT2OA3SapAC+J3OHRZtFFwaMxAJlwzjAb2ZFvZCYNijMJP4IQURSrpSN+qUFtTU8Ofseqj3hAdx1Dn69XUk7RYjjb8rk4SUHGSH9U/zRf4wd8tEG3JVVqApAqvHDHK40ran0na8ki+TwvyOe1zJo20GjyDL7pFRXWZ8TLrWrmTqY84JC1Mi5hUBzH6qf9V8Zn+xzF4nEEZ8pNNDnP+Zfuy/V+2/wLQlMJlaj4ozgAAAABJRU5ErkJggg==",oh=({className:e,count:t})=>(0,Qr.jsx)(Qr.Fragment,{children:Array(t).fill(null).map((t,n)=>(0,Qr.jsx)("div",{className:Zo(e,"skeleton-button"),children:(0,Qr.jsx)("div",{className:"skeleton-shine"})},n))}),ih=()=>(0,Qr.jsx)("div",{className:"empty-state-container",children:(0,Qr.jsxs)("div",{className:"empty-state-content",children:[(0,Qr.jsx)(Ts,{className:"empty-state-icon"}),(0,Qr.jsx)("h3",{className:"empty-state-title",children:Gr("offers.empty")})]})});function sh(e){return e.rate.base+(e.rate.taxes||0)+(e.rate.hotelFees||0)}function ch(e){return"offer"===e.type?sh(e.offer):e.displayPrices?e.displayPrices.displayedDirectoPrice:1/0}function lh(e,t){return ch(e)-ch(t)}const uh=new Map([["BOOKING",new Set(["Booking"])],["EXPEDIA",new Set(["Expedia"])]]);const dh=Hp(),ph=({className:e,providerLogo:t,providerSvgLogo:n,bestOffer:a,onClick:r,price:o,currency:i})=>(0,Qr.jsxs)("button",{onClick:r,className:Zo(e,"directo-cta-button-light",a&&"directo-cta-button-light-shadow-pulse"),children:[a&&(0,Qr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Qr.jsx)("img",{src:rh,alt:"Directo",style:{width:"40px",height:"40px"}})}),t?(0,Qr.jsx)("img",{className:"directo-cta-provider-logo",src:t}):n,(0,Qr.jsx)("span",{style:{fontSize:"20px"},children:Dp(Math.floor(o),i)}),(0,Qr.jsx)(Ms,{})]});function hh({offer:e,listingPrice:t,index:n,ctaPrefix:a}){const r=null!==t&&function(e,t){if(e.currency!==t.currency)return!1;const n=sh(e);return t.totalPrice/100-n>0}(e,t),o=0===n&&r,i=sh(e),s=e.currency,c=`${a}_${e.provider.name.replace(".","_").toUpperCase()}`,l=e.provider.logoUrl;return(0,Qr.jsx)(Jp,{popover:(0,Qr.jsx)(nh,{offer:{price:i,currency:s,providerName:e.provider.name},providerLogo:l,listingPrice:t,bestOffer:o,thereIsDiscount:r}),children:(0,Qr.jsx)(ph,{className:"offers-item",providerLogo:l,bestOffer:o,price:i,currency:s,onClick:async t=>{Et.openOutclickTab({cta:c,sourceUrl:window.location.href,targetUrl:e.url,sourceId:e.source_id,stayParams:e.stayParams,redirectEngineParams:null}),t&&t.stopPropagation()}})})}function mh({item:e,displayPrices:t,listingPrice:n,cta:a,index:r,getSecondaryCtaSvg:o,isDirectoExtension:i,backlink:s,forceDirectoButton:c}){if(!t||!ss(e.directo_url))return(0,Qr.jsx)(Jp,{popover:(0,Qr.jsx)(Ap,{item:e,isDirectoExtension:i}),children:(0,Qr.jsx)(Yp,{className:"offers-item",item:e,displayPrices:t,cta:a,getSecondaryCtaSvg:o,isDirectoExtension:i,backlink:s})});const l=0===r&&Np(t);return c&&l?(0,Qr.jsx)(Jp,{popover:(0,Qr.jsx)(nh,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,Qr.jsx)(qs,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:n,bestOffer:l,thereIsDiscount:t.thereIsDiscount}),children:(0,Qr.jsx)(Yp,{className:"offers-item",item:e,displayPrices:t,cta:a,getSecondaryCtaSvg:o,isDirectoExtension:i,backlink:s})}):(0,Qr.jsx)(Jp,{popover:(0,Qr.jsx)(nh,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,Qr.jsx)(qs,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:n,bestOffer:l,thereIsDiscount:t.thereIsDiscount}),children:(0,Qr.jsx)(ph,{className:"offers-item",onClick:t=>{const n=is(e.directo_url);dh.event(Gp,{outbound_url:n}),Zm.navigateToDirectLink(n,a,{parametrised:e.stay_parametrised,sourceId:e.source_id,coupon:e.coupon,verified:e.verified,discount:e.discount,stayParams:e.stayParams,directPrice:e.pricing??null,backlink:s}),t&&t.stopPropagation()},price:t.displayedDirectoPrice,currency:t.displayedCurrency,bestOffer:l,providerSvgLogo:(0,Qr.jsx)(qs,{style:{maxHeight:"1.25rem",marginRight:"auto",marginTop:"-3px"},monochromatic:l})})})}const fh=({children:e,isVertical:t})=>(0,Qr.jsx)("div",{className:Zo("offers-container",t?"offers-container-vertical":"offers-container-horizontal"),children:e}),gh=_p(({sourceId:e,options:t,platform:n,getSecondaryCtaSvg:a,isDirectoExtension:r})=>{const o=xp.offersById.get(e);if(!o)throw new Error("Offers data not found for sourceId: "+e);if("loading"===o.alternativeOffers.type||"loading"===o.listingPrice.type||"loading"===o.directoInfo.type)return t.hideLoadingSkeleton?null:(0,Qr.jsx)(fh,{isVertical:t.vertical,children:(0,Qr.jsx)(oh,{count:t.loadingItems})});const{alternativeOffers:i,listingPrice:s,directoInfo:c,displayPrices:l,backlink:u}=o,d=zp(i,[]),p=zp(s,null),h=zp(c,null),m="error"===(f=l).type?{type:"loaded",data:null}:f;var f;const g=Cp(u,null),b=function(e,t,n,a,r){if(r<1)return[];const o=null!==t?{type:"directo",directoInfo:t,displayPrices:"loaded"===n.type?n.data:null}:null,i=e.filter(function(e){return t=>!uh.get(e)?.has(t.provider.name)}(a)).map(e=>({type:"offer",offer:e})),s=i.toSorted(lh);if(o){if(ss(o.directoInfo.directo_url))return o.directoInfo.pricing?"loading"===n.type?[o,...r>1?Array(r-1).fill({type:"loading",count:1}):[]]:n.data&&Np(n.data,2)?[o]:r>1?[o,...s.slice(0,r-1)].sort(lh):[o,...s].sort(lh).slice(0,r):s.slice(0,r);if(s.length>0){if("loading"===n.type)return[...s.slice(0,r-1),{type:"loading",count:1}];const e=s[0]?ch(s[0]):null,t=n.data?.displayedOtaPrice??null;return null!==e&&null!==t&&t>e?o.directoInfo.verified?[...s,o].sort(lh).slice(0,r):s.slice(0,r):[...s,o].sort(lh).slice(0,r)}return[o]}return s.slice(0,r)}(d,h,m,n,t.maxItems);return 0===b.length?t.hideEmptyState?null:(0,Qr.jsx)(ih,{}):(0,Qr.jsx)(fh,{isVertical:t.vertical,children:b.map((e,n)=>{switch(e.type){case"directo":return(0,Qr.jsx)(mh,{index:n,item:e.directoInfo,displayPrices:e.displayPrices,listingPrice:p,cta:`${t.ctaPrefix}_DIRECTO`,getSecondaryCtaSvg:a,isDirectoExtension:r,forceDirectoButton:t.forceDirectoButton,backlink:g},n);case"offer":return(0,Qr.jsx)(hh,{offer:e.offer,listingPrice:p,index:n,ctaPrefix:t.ctaPrefix},n);case"loading":return t.hideLoadingSkeleton?null:(0,Qr.jsx)(oh,{count:e.count},n);default:Ot(e)}})})}),bh=Hp(),yh=({children:e})=>(0,Qr.jsx)("div",{className:"dr-floating-directo dr-direct",children:(0,Qr.jsx)("span",{style:{position:"relative",zIndex:10},children:e})});class kh extends Gn.Component{box=Gn.createRef();sourceId;backgroundColor;platform;isDirectoExtension;constructor(e){super(e),this.sourceId=e.sourceId,this.navigate=this.navigate.bind(this),this.backgroundColor=e.backgroundColor,this.platform=e.platform,this.isDirectoExtension=e.isDirectoExtension}navigate(e,t){return n=>{n.preventDefault();const a=is(e.directo_url);bh.event("click_out_ml",{outbound_url:a}),Zm.navigateToDirectLink(a,"LIST",{parametrised:e.stay_parametrised,sourceId:e.source_id,verified:e.verified,coupon:e.coupon,discount:e.discount,stayParams:e.stayParams,directPrice:e.pricing??null,backlink:t})}}getThumbs(e){const t=e.score??0;let n="👍";return t>=70?n="👍👍👍":t>=50&&(n="👍👍"),t?(0,Qr.jsx)("div",{className:"dr-floating-score-icon",children:n}):null}getFloatingLabel(e){return this.isDirectoExtension?e.coupon?(0,Qr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Qr.jsx)($s,{})}):e.discount?(0,Qr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Qr.jsx)("img",{src:rh,alt:"Directo",className:"dr-h-7 dr-w-7"})}):this.getThumbs(e):null}getTooltipText(e){if(!this.isDirectoExtension)return Gr("label.tooltip");const{score:t,discount:n,coupon:a}=e,r=ss(e.directo_url);return Gr(r?"label.own_ota_tooltip":a?"label.coupon_tooltip":n?"label.discount_tooltip":t&&t>70?"label.high_score_tooltip":t?"label.score_tooltip":"label.tooltip")}render(){const e=xp.offersById.get(this.sourceId);let t=null,n=null;if(e&&(t="loading"===e.directoInfo.type?null:zp(e.directoInfo,null),n="loading"===e.backlink.type?null:zp(e.backlink,null)),!t)return null;const a="GOOGLE"===vo(window.location.href);return(0,Qr.jsxs)("button",{onClick:this.navigate(t,n),ref:this.box,style:{position:"relative",backgroundColor:this.backgroundColor},className:"dr-floating-container",children:[this.getFloatingLabel(t),!a&&(0,Qr.jsx)("span",{className:"dr-floating-container-before",style:{boxShadow:`${"BOOKING"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}}),(0,Qr.jsx)(yh,{children:this.props.labelSVG},t.source_id),(0,Qr.jsx)("div",{className:"dr-floating-label-popover",children:this.getTooltipText(t)}),!a&&(0,Qr.jsx)("span",{className:"dr-floating-container-after",style:{boxShadow:`${"BOOKING"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}})]})}}const vh=_p(kh);class wh{base=this.constructor;platform;displayName;rendererConfig;listingsInPage=new Set;renderedLabels={};renderedSecondaryCTAs={};insertedOffersComponents={};debouncedRenderMLs=null;constructor(e,t,n){this.rendererConfig=e,this.platform=t,this.displayName=n}async getDestinationInUrl(){return null}async getHotelIdInDetail(){return null}async getHotelIdInCheckout(){return null}async insertOffersComponentInList(e){}async insertOffersComponentInDetail(e){}async getListingQueryParamMap(e,t){return this.getPlatformQueryParamMap(t)}static getSection(e){throw new Error("Method not implemented.")}getLinkId(){if(!this.platform)throw new Error("Platform not set");return`${this.platform.substring(0,3)}${this.getItemId()}`}async getListingLoS(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return t&&n?function(e,t){const n=new Date(e),a=new Date(t),r=Math.ceil((a.getTime()-n.getTime())/864e5);return isNaN(r)||r<1?null:r}(t,n):null}async getPrice(e){if(!await this.getListingLoS(e))return null;const t=this.base.getSection(new URL(window.location.href));return"DETAIL"===t?await this.getDetailPrice():"LIST"===t?await this.getPriceFromList(e):"CHECKOUT"===t?await this.getCheckoutPrice(e):null}filterNewListingsInPage(e){const t=[];return e.forEach(e=>{this.listingsInPage.has(e)||t.push(e),this.listingsInPage.add(e)}),this.listingsInPage.forEach(t=>{e.find(e=>e===t)||this.listingsInPage.delete(t)}),t}cleanAllListingsAndElements(){for(const e of Object.keys(this.renderedLabels))this.cleanRenderedLabel(e);for(const e of Object.keys(this.renderedSecondaryCTAs))this.cleanRenderedSecondaryCTAs(e);for(const e of Object.keys(this.insertedOffersComponents))this.cleanInsertedOffersComponent(e);this.listingsInPage.clear()}setRenderedLabel(e,t){this.renderedLabels[e]=t}cleanRenderedLabel(e){this.renderedLabels[e]&&(this.renderedLabels[e].unmount(),delete this.renderedLabels[e])}setRenderedSecondaryCTA(e,t){this.renderedSecondaryCTAs[e]||(this.renderedSecondaryCTAs[e]=new Set),this.renderedSecondaryCTAs[e].add(t)}cleanRenderedSecondaryCTAs(e){this.renderedSecondaryCTAs[e]&&(this.renderedSecondaryCTAs[e].forEach(e=>e.unmount()),delete this.renderedSecondaryCTAs[e])}setInsertedOffersComponent(e,t){this.insertedOffersComponents[e]=t}cleanInsertedOffersComponent(e){this.insertedOffersComponents[e]&&(this.insertedOffersComponents[e].unmount(),delete this.insertedOffersComponents[e])}async insertSecondaryCTA(e,t,n,a,r=document.body){if(!1===this.rendererConfig.renderSecondaryCTAs)return null;const o=a||e.source_id,i=this.renderedSecondaryCTAs[o];if(i&&[...i].every(e=>e.$container.isConnected))return null;const s=await un(Bn,e=>!e,10)(t,r);if(!s)return null;this.cleanRenderedSecondaryCTAs(o);const c=function(e,t,n,a,r){const o=document.createElement("div"),i=o.attachShadow({mode:"closed"}),s=document.createElement("style");s.innerHTML=[Wp,Qp(a),Zp,Xp].join("\n"),i.appendChild(s);const c=document.createElement("div");i.appendChild(c);const l=(0,Wr.H)(c);return l.render((0,Qr.jsx)(th,{sourceId:e.source_id,cta:t,getSecondaryCtaSvg:n,isDirectoExtension:r})),{$container:o,$reactRoot:c,unmount:()=>{l.unmount(),o.remove()}}}(e,n,this.rendererConfig.customization.getSecondaryCtaSvg,this.rendererConfig.customization.mainColorHex,this.rendererConfig.isDirectoExtension);return s.appendChild(c.$container),this.setRenderedSecondaryCTA(o,c),c}async insertOffersComponent(e,t){if(!1===this.rendererConfig.renderAlternativeOffers)return null;const{idSuffix:n,selector:a,container:r=document.body,componentOptions:o}=t,i=`${e}${n?`-${n}`:""}`,s=this.insertedOffersComponents[i];if(s&&s.$container.isConnected)return null;let c=null;if(c=a?await un(Bn,e=>!e,10)(a,r):r,!c)return null;const l=function(e,t,n,a,r,o){const i=document.createElement("div"),s=i.attachShadow({mode:"closed"}),c=document.createElement("style");c.innerHTML=[ah,Qp(r),Zp,Xp,n.styles?n.styles:""].join("\n"),s.appendChild(c);const l=document.createElement("div");s.appendChild(l);const u=(0,Wr.H)(l);return u.render((0,Qr.jsx)(gh,{sourceId:e,options:n,platform:t,getSecondaryCtaSvg:a,isDirectoExtension:o})),{$container:i,unmount:()=>{u.unmount(),i.remove()}}}(e,this.platform,o,this.rendererConfig.customization.getSecondaryCtaSvg,this.rendererConfig.customization.mainColorHex,this.rendererConfig.isDirectoExtension);return this.cleanInsertedOffersComponent(i),c.appendChild(l.$container),this.setInsertedOffersComponent(i,l),l}async canMakePricingRequest(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return!!t&&!!n}async buildPlatformQueryParam(e,t=window.location.href){const n=new URL(t);return _r((await this.getPlatformQueryParamMap(n))[e])}async buildListingQueryParam(e,t,n=window.location.href){const a=new URL(n);return _r((await this.getListingQueryParamMap(t,a))[e])}async getShouldClearOffers(e,t,n={}){return!!e&&!function(e,t,n={}){return e.protocol===t.protocol&&e.username===t.username&&e.password===t.password&&e.host===t.host&&e.pathname===t.pathname&&(!n.compareHash||e.hash===t.hash)&&function(e,t,n){const a=n?[...e]:qr(e),r=n?[...t]:qr(t);if(a.length!==r.length)return!1;for(let e=0;e<a.length;e++){const t=a[e],n=r[e];if(t[0]!==n[0]||t[1]!==n[1])return!1}return!0}(e.searchParams,t.searchParams,n.checkQueryParamsOrder??!1)}(e,t,{compareHash:!1,checkQueryParamsOrder:!1,...n})}shouldRenderLabel(e){return!!this.rendererConfig.renderLabels&&(!ss(e.directo_url)||!this.rendererConfig.hideOwnOtaLabels)}renderLabel(e,t,n="white",a=!1){return function(e,t,{styles:n,labelBackgroundColor:a="white",hoverRight:r=!1,labelSVG:o,labelCSSDefinition:i,isDirectoExtension:s}){const c=document.createElement("div"),l=c.attachShadow({mode:"closed"}),u=function(e,t,n="",a=!1){const r=document.createElement("style");return r.innerHTML="\n.dr-floating-directo {\n position: relative;\n margin-top: 5px;\n}\n\n.dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dr-floating-score-icon {\n position: absolute;\n top: -12px;\n left: -20px;\n background-color: #3B82F6;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border: 3px solid white;\n border-radius: 99px;\n padding: 2px 6px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-container-before,\n.dr-floating-container-after {\n z-index: -1;\n}\n.dr-floating-container-before {\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: 0px;\n background: transparent;\n border-radius: 50%;\n}\n.dr-floating-container-after {\n position: absolute;\n width: 20px;\n height: 20px;\n top: -20px;\n background: transparent;\n border-radius: 50%;\n}\n @keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}",r.innerHTML+=`.dr-floating-container {\n\n ${"BOOKING"===t?"border-top-right-radius: 25px; margin-left: 0;":"border-top-left-radius: 10px; margin-left: 5px;"}\n }\n .dr-floating-container-before,\n .dr-floating-container-after {\n box-shadow: ${"BOOKING"===t?"-10px":"10px"} 10px 0 ${e};\n }\n .dr-floating-container-before {\n ${"BOOKING"===t?"right: -20px;":"left: -20px;"}\n }\n.dr-floating-container-after {\n ${"BOOKING"===t?"left: 0px;":"VRBO"===t?"left: 30px;":"left: 25px;"}\n\n}\n `,r.innerHTML+=`\n .dr-floating-label-popover {\n position: absolute;\n ${["BOOKING","GOOGLE"].includes(t)?"top: -51px;left: 50%; border-radius: 8px;":"left: -60px;top: -33px;border-radius: 8px 8px 2px 8px;"}\n color: #000141;\n transform: translateX(-50%);\n background: white;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n z-index: 999;\n visibility: hidden;\n opacity: 0;\n transition: all .15s ease-in-out;\n font-weight: 600;\n width: 148px;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: center;\n pointer-events: none;\n }\n .dr-floating-container:hover .dr-floating-label-popover {\n visibility: visible;\n opacity: 1;\n ${["BOOKING","GOOGLE"].includes(t)?`top: -41px;left: ${a?130:50}%;`:"left: -60px;top: -23px;border-radius: 8px 8px 2px 8px;"}\n }\n `,r.innerHTML+=n,r}(a,t,i,r);l.appendChild(u);const d=document.createElement("div");Object.assign(d.style,n),l.appendChild(d);const p=(0,Wr.H)(d);return p.render((0,Qr.jsx)(vh,{sourceId:e,backgroundColor:a,platform:t,isDirectoExtension:s,labelSVG:o})),{$container:c,unmount:()=>{p.unmount(),c.remove()}}}(e,this.platform,{styles:t,labelBackgroundColor:n,hoverRight:a,labelSVG:this.rendererConfig.customization.labelSVG,labelCSSDefinition:this.rendererConfig.customization.labelCSSDefinition,isDirectoExtension:this.rendererConfig.isDirectoExtension})}}const jh=function(){return l.Date.now()};var _h=/\s/;var xh=/^\s+/;const Ch=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&_h.test(e.charAt(t)););return t}(e)+1).replace(xh,""):e};var zh=/^[-+]0x[0-9a-f]+$/i,Sh=/^0b[01]+$/i,Eh=/^0o[0-7]+$/i,Oh=parseInt;const Lh=function(e){if("number"==typeof e)return e;if(pn(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Ch(e);var n=Sh.test(e);return n||Eh.test(e)?Oh(e.slice(2),n?2:8):zh.test(e)?NaN:+e};var Ah=Math.max,Ph=Math.min;const Ih=function(e,t,n){var a,r,o,i,s,c,l=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var n=a,o=r;return a=r=void 0,l=t,i=e.apply(o,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-l>=o}function f(){var e=jh();if(m(e))return g(e);s=setTimeout(f,function(e){var n=t-(e-c);return d?Ph(n,o-(e-l)):n}(e))}function g(e){return s=void 0,p&&a?h(e):(a=r=void 0,i)}function b(){var e=jh(),n=m(e);if(a=arguments,r=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(f,t),u?h(e):i}(c);if(d)return clearTimeout(s),s=setTimeout(f,t),h(c)}return void 0===s&&(s=setTimeout(f,t)),i}return t=Lh(t)||0,y(n)&&(u=!!n.leading,o=(d="maxWait"in n)?Ah(Lh(n.maxWait)||0,t):o,p="trailing"in n?!!n.trailing:p),b.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},b.flush=function(){return void 0===s?i:g(jh())},b},Nh='[data-testid="content-scroller"]';function Dh(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Th extends wh{constructor(e){super(e,"AIRBNB","Airbnb")}shouldActivate(e){return/airbnb\.[.a-z]{2,7}/i.test(e)}getListingsInPage(){const e=document.querySelectorAll("a.bn2bl2p");return Array.from(e).map(e=>{const t=e.getAttribute("target")?.replace("listing_","");return t})}findListingElement(e){return document.querySelector(`[target=listing_${e}]`)}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.closest('[itemprop="itemListElement"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Rh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.shouldRenderLabel(t)){const t=this.findListingElement(e);if(t){const n=null!==t.closest(Nh),a=this.getLabelPlacement(t),r=n?"#F7F6F2":"white",o=this.renderLabel(e,a,r);this.setRenderedLabel(e,o),this.appendLabel(t,o.$container)}}}async insertSecondaryCTAInDetailView(e){}async insertOffersComponentInDetail(e){this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta",selector:Mh,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:$h,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async insertOffersComponentInCheckoutView(e){const t=await this.insertSecondaryCTA(e,['[data-section-id="CONFIRM_AND_PAY"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;t.$container.parentElement&&(t.$container.parentElement.style.display="flex"),t.$container.style.marginLeft="10px";const n=await un(()=>Bn([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="8px",n.style.padding="18px 12px",n.style.fontSize="16px",n.style.gap="12px",n.style.height="48px",n.style.right="0px")}getLabelPlacement(e){const{top:t,right:n}=function(e){const t=e.parentElement?.parentElement;if(!t)return console.warn("Parent element not found."),{right:-5,top:0};const n=Bn(["picture img"],t);if(!n)return console.warn("Picture element not found."),{right:-5,top:0};const a=null!==e.closest(Nh);return{right:-5,top:n.height-(a?70:54)}}(e);return{position:"absolute",top:`${t}px`,right:`${n}px`,zIndex:"1",borderTopLeftRadius:"25px"}}appendLabel(e,t){const n=cs(1,3);try{switch(n){case 1:return e.append(t);case 2:return e.parentElement.append(t);case 3:return e.parentElement.children[1].append(t)}}catch(n){return e.append(t)}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Ih(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await un(Bn,e=>!e)(["[itemprop=itemListElement]"]);new MutationObserver(e=>{for(const t of e)!Dh(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){if(!e)return null;const t=this.findListingElement(e);if(!t)return null;if(null!==t.closest(Nh))return null;const n=await un(Bn,e=>!e,2)(['[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"] [role="button"]','[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"]'],t.parentElement);if(!n)return null;const a=[...n.querySelectorAll("span")].find(e=>"clip"!==getComputedStyle(e).overflow);if(!a)return null;const r=a.textContent,o=pi(r),i=await this.buildListingQueryParam("currency",e);if(null===o||!i)return null;const s=await this.getListingLoS(e);return null===s?null:{priceString:r,currency:i,priceStringIsNightly:!1,totalPrice:o,nightlyPrice:o/s}}async getCheckoutPrice(e){const t=Bn(['[data-testid="pd-value-TOTAL"]']);if(!t)return null;const n=t.textContent||"",a=pi(n),r=await this.buildListingQueryParam("currency",e);if(null===a||!r)return null;const o=await this.getListingLoS(e);return null===o?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/o}}async canMakePricingRequest(e){const{hash:t}=window.location,n=t.includes("availability-calendar");return await super.canMakePricingRequest(e)&&!n}async getDetailPrice(){let e="";const t=await un(()=>{const e=Bn(['[data-testid="book-it-default"] button']);if(!e)return null;const t="dialog"===e.getAttribute("aria-haspopup");return[...e.querySelectorAll("span")].find(e=>{const n=getComputedStyle(e);return"solid"===n.textDecorationStyle&&(!!t||"underline"===n.textDecorationLine)})||null},e=>!e)();t&&(e=t.textContent||"");const n=e.replace(/\n/gm,""),a=this.getItemId();if(null===a)return null;const r=await this.buildListingQueryParam("currency",a),o=pi(n);if(null===o||!r)return null;const i=await this.getListingLoS(a);return null===i?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:o,nightlyPrice:o/i}}getItemId(e){return(wo.exec(e||location.href)||[])[3]??null}async getItemIdOnOTACheckout(){return(/(www\.)?airbnb\.[.a-z]{2,7}\/book\/stays\/(\d+)/i.exec(location.href)||[])[2]??null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){const e=/[https:\/\/]*[www]*\.airbnb\.[^\/]+\/s\/([^\/]+)\/homes/i.exec(location.href);return e?.length?decodeURIComponent(e[1]):null}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin")||Or(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout")||Or(new Date(Date.now()+16641e4)),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:async()=>{try{if(e.searchParams.has("display_currency"))return e.searchParams.get("display_currency");if(e.searchParams.has("currency"))return e.searchParams.get("currency");if(e.searchParams.has("guestCurrency"))return e.searchParams.get("guestCurrency");const t=await un(()=>Un(["footer button span:not(:has(*))"]),e=>!e||0===e.length,8)();if(!t||0===t.length)throw new Error("Could not scrape platform currency in Airbnb (no candidates)");const n=[...t].map(e=>e.textContent.replace(/\n/gm,"")).filter(_i).at(-1)??null;if(!n)throw new Error("Could not scrape platform currency in Airbnb (no valid currency)");return n}catch(e){return console.error("Error getting currency from Airbnb URL or page",e),null}}}}static getSection(e){const t=e.href;return jo.test(t)?"LIST":wo.test(t)?"DETAIL":_o.test(t)?"CHECKOUT":"UNKNOWN"}cleanRenderedSecondaryCTA(e,t){e.remove(),delete this.renderedSecondaryCTAs[t]}}const Rh="\n.offers-container {\n margin-top: 0.5em;\n}\n",Mh=['._wgmchy[data-testid="book-it-default"]'],$h="\n.offers-container, .empty-state-container {\n margin-top: 10px;\n}\n\n.offers-item {\n border-radius: 8px;\n padding: 15px 12px;\n}\n\n.skeleton-button {\n padding: 5px 0;\n}\n",Bh=function(e,t,n,a){if(!y(e))return e;for(var r=-1,o=(t=zn(t,e)).length,i=o-1,s=e;null!=s&&++r<o;){var c=Sn(t[r]),l=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(r!=i){var u=s[c];void 0===(l=a?a(u,c,s):void 0)&&(l=y(u)?u:ce(t[r+1])?[]:{})}Y(s,c,l),s=s[c]}return e},Uh=function(e,t){if(null==e)return{};var n=wn(He(e),function(e){return[e]});return t=As(t),function(e,t,n){for(var a=-1,r=t.length,o={};++a<r;){var i=t[a],s=En(e,i);n(s,i)&&Bh(o,zn(i,e),s)}return o}(e,n,function(e,n){return t(e,n[0])})},Vh=function(e,t){var n={};return t=As(t),Pn(e,function(e,a,r){K(n,a,t(e,a,r))}),n};var Fh=function(){return Fh=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Fh.apply(this,arguments)};function qh(e,t){for(var n={},a={},r=e.split("~~"),o=!1,i=0;r.length>i;i++){for(var s=r[i].split("~"),c=0;c<s.length;c+=2){var l=s[c],u=s[c+1],d="&"+l+";";n[d]=u,o&&(n["&"+l]=u),a[u]=d}o=!0}return t?{entities:Fh(Fh({},n),t.entities),characters:Fh(Fh({},a),t.characters)}:{entities:n,characters:a}}var Hh={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},Kh={};Kh.xml=qh("lt~<~gt~>~quot~\"~apos~'~amp~&"),Kh.html4=qh("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),Kh.html5=qh('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',Kh.html4);var Gh={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},Yh=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},Qh=(String.prototype.codePointAt,function(){return Qh=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Qh.apply(this,arguments)}),Wh=Qh(Qh({},Kh),{all:Kh.html5}),Jh={scope:"body",level:"all"},Zh=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,Xh=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,em={xml:{strict:Zh,attribute:Xh,body:Hh.xml},html4:{strict:Zh,attribute:Xh,body:Hh.html4},html5:{strict:Zh,attribute:Xh,body:Hh.html5}},tm=Qh(Qh({},em),{all:em.html5}),nm=String.fromCharCode,am=nm(65533);function rm(e){if("childList"===e.type){if(e.removedNodes.length)return!0;const t=e.addedNodes[0];if(""===t?.className&&"DIV"===t?.nodeName)return!0;if(t&&"dr-floating-container"===t?.firstChild?.className)return!0}return!1}class om extends wh{isGridMode=void 0;embeddedInfoCache=null;constructor(e){super(e,"BOOKING","Booking.com")}shouldActivate(e){return/booking\.com/i.test(e)}static getItemId(e=window.location.href){return Ko(e)}getListingsInPage(){if(this.isMapOpen)return[];const e=Un(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']),t=Array.from(e||[]).map(e=>{const t=e.querySelector("a");let n=t?.getAttribute("href");return Ho((a=n.match(/[^]+?\.html/))&&a.length?a[0]:void 0);var a});return this.filterNewListingsInPage(t)}getListingCardContainer(e){const t=e.closest('[data-testid="property-card-container"]');return t?.firstChild?.firstChild??null}findListingElement(e){const t=Un(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']);if(!t||0===t.length)return null;let n=null;for(const a of t){const t=a.querySelector("a")||a,r=t.getAttribute("href");if(r&&Ho(r)===e){n=t;break}}return n?this.getListingCardContainer(n):null}get isMapOpen(){const{hash:e}=window.location;return e.includes("map_opened")}async setGridMode(){const e=await un(Bn,e=>!e,5)(['[role="radiogroup"]']);return void 0===this.isGridMode&&(this.isGridMode="grid"===e.querySelector("[checked]")?.getAttribute("value")),e&&e.addEventListener("change",()=>{this.cleanAllListingsAndElements(),xp.clear(),this.isGridMode=!this.isGridMode,this.debouncedRenderMLs?.()}),this.isGridMode}async insertOffersComponentInList(e){setTimeout(()=>{if(this.isMapOpen)return;const t=this.findListingElement(e);if(!t)return;const n=t.closest('[data-testid="property-card"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:4,loadingItems:3,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:im,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!0}})},2e3)}async insertOffersComponentInDetail(e){const t=await un(e=>Bn(e),e=>null===e,10)([".hprt-reservation-cta"]);t&&(await this.insertOffersComponent(e,{idSuffix:"detail",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:sm,ctaPrefix:"OFFERS_IN_DETAIL"}}),this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta-alt",selector:cm,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_ALT",styles:lm,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}),this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta-book",selector:um,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:dm,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}))}async insertSecondaryCTAInDetailView(e){}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.isMapOpen)return;const n=this.findListingElement(e);if(!n)return;const a=n.closest('[data-testid="property-card"]');if(a){if(this.shouldRenderLabel(t)){const t=window.getComputedStyle(a).getPropertyValue("background-color"),r=this.getLabelPlacement(n),o=this.renderLabel(e,r,t);this.setRenderedLabel(e,o),this.appendLabel(e,a,o.$container)}this.rankListing(t,a)}}rankListing(e,t){if(t&&t.parentElement)try{const n=new URL(window.location.href).searchParams.get("order");if(e.ranking&&(!n||"popularity"===n)){const e=t.parentElement;e.insertBefore(t,e.firstChild)}}catch(e){console.error(e)}}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}debouncedInsertOffersComponentInCheckoutView=Ih(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async insertOffersComponentInCheckoutViewToDebounce(e){this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta-book",selector:pm,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:hm,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}appendLabel(e,t,n){t.append(n),setTimeout(()=>{const a=this.findListingElement(e);a&&(a===t||this.appendLabel(e,a,n))},2e3)}getLabelPlacement(e){return{position:"absolute",zIndex:"200",bottom:"0px",borderTopRightRadius:"25px"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Ih(e,2500,{trailing:!0})),setTimeout(async()=>{const e=(await un(Bn,e=>!e)(['[data-testid="property-card"]'])).parentElement,t=new MutationObserver(e=>{this.cleanAllListingsAndElements()});t.disconnect();const n=e.parentElement?.parentElement?.parentElement?.querySelector(".d3c5f9b609");t.observe(n,{childList:!0,subtree:!0});const a=new MutationObserver(e=>{for(const t of e)!rm(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()});a.disconnect();const r=e.parentElement?.parentElement?.parentElement?.querySelector('[data-results-container="1"]');a.observe(r,{childList:!0,subtree:!0}),this.setGridMode()},2e3),this.debouncedRenderMLs()}async getPriceObject(e,t,n){const a=pi(t);if(null===a)return null;const r=await this.getListingLoS(e);return null===r?null:{priceString:t,currency:n,priceStringIsNightly:!1,nightlyPrice:a/r,totalPrice:a}}async getPriceFromList(e){const t=this.findListingElement(e),n=await un(Bn,e=>!e,2)(['[data-testid="price-and-discounted-price"]'],t?.parentElement?.parentElement?.parentElement);if(!n)return null;const a=n.textContent,r=a.replace(/\n/gm,""),o=ji(a.replace(/[0-9\s,.]/g,"").trim(),await this.getSymbolToCurrencyCodeMap()??void 0);return o?this.getPriceObject(e,r,o):null}async getDetailPrice(){const e=await un(Bn,e=>!e,2)(["#hprt-table .bui-price-display__value"]);if(!e)return null;const t=e.textContent.replace(/\n/gm,""),n=this.getItemId();if(null===n)return null;const a=await this.getDetailCurrency(t);return a?this.getPriceObject(n,t,a):null}getCurrencyFromUtagData(){return this.getValueFromUtagData("currency")}async getDetailCurrency(e){const t=await this.getCurrencyFromUtagData();return t||ji(e.replace(/[0-9\s,.]/g,"").trim(),await this.getSymbolToCurrencyCodeMap()??void 0)}async getCheckoutPriceElement(){return un(Bn,e=>!e,12)(['[data-component="core/animate-price"]'])}async getCheckoutPrice(e){const t=await this.getCheckoutPriceElement();if(!t)return null;const n=t.textContent.replace(/\n/gm,""),a=await this.getCheckoutCurrency(t);return a?this.getPriceObject(e,n,a):null}async getCheckoutCurrency(e){const t=e.getAttribute("data-currency");if(t)return t;const n=e.textContent;return n?this.getDetailCurrency(n):null}getItemId(e){return om.getItemId(e)}async getItemIdOnOTACheckout(){try{return this.getItemIdOnOTACheckoutFromJsonApplicationContext()||this.getItemIdOnOTACheckoutFromSidebar()}catch(e){return console.error(e),null}}getItemIdOnOTACheckoutFromJsonApplicationContext(){const e=Bn(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Ht(e.textContent||"{}"),n=On(t,"body.BPRenderData.bookingSummaryDetails.hotelAbsoluteUrl",null);return"string"!=typeof n?null:this.getItemId(n)}getItemIdOnOTACheckoutFromSidebar(){const e=Bn(['[data-testid="booking-details-date-summary"]'])?.parentElement,t=e?.querySelector("a"),n=t?.getAttribute("href");return n?this.getItemId(n):null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.parentElement?.parentElement?.querySelector('[data-testid="title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){return null}getScriptTagWithUtagDataContent(){const e=/window\.utag_data = ({\n[^]*?});/gm.exec(window.document.body.innerHTML);return e?e[1]:null}async getUtagData(){try{return await un(()=>{const e=this.getScriptTagWithUtagDataContent();if(!e)return null;return Ft(Ht(e.replace(/'/g,'"').replace(/([a-zA-Z0-9_]+):/g,'"$1":').split("\n").filter(e=>(e.match(/"/g)||[]).length<=4).join("\n")))||null},e=>!e,3)()}catch(e){return null}}async getValueFromUtagData(e){try{const t=await this.getUtagData();if(!t)return null;if(!(e in t))return null;const n=String(t[e]).trim();return["-1",""].includes(n)?null:n}catch(e){return console.error(e),null}}symbolToCurrencyCodeMapCache;async getSymbolToCurrencyCodeMap(){if(this.symbolToCurrencyCodeMapCache)return this.symbolToCurrencyCodeMapCache;try{const e=Ft(await un(()=>Et.readWindowPropertyFromMainWorld({path:"booking.env.accounting_config.html_symbol"}),e=>null===e)());if(!e)return this.symbolToCurrencyCodeMapCache={},this.symbolToCurrencyCodeMapCache;const t=Uh(e,e=>"string"==typeof e),n=Vh(t,e=>function(e,t){var n=void 0===t?Jh:t,a=n.level,r=void 0===a?"all":a,o=n.scope,i=void 0===o?"xml"===r?"strict":"body":o;if(!e)return"";var s=tm[r][i],c=Wh[r].entities,l="attribute"===i,u="strict"===i;return e.replace(s,function(e){return function(e,t,n,a){var r=e,o=e[e.length-1];if(n&&"="===o)r=e;else if(a&&";"!==o)r=e;else{var i=t[e];if(i)r=i;else if("&"===e[0]&&"#"===e[1]){var s=e[2],c="x"==s||"X"==s?parseInt(e.substr(3),16):parseInt(e.substr(2));r=c>=1114111?am:c>65535?Yh(c):nm(Gh[c]||c)}}return r}(e,c,l,u)})}(e,{level:"html5",scope:"strict"}));return this.symbolToCurrencyCodeMapCache=bi(n),this.symbolToCurrencyCodeMapCache}catch(e){return console.error("Error fetching symbol to currency code map from background:",e),this.symbolToCurrencyCodeMapCache={},this.symbolToCurrencyCodeMapCache}}async getHotelIdInDetail(){return await this.getValueFromUtagData("hotel_id")??this.getHotelIdFromHiddenInput()??this.getHotelIdOnOtaCheckoutFromJsonApplicationContext()}async getHotelIdInCheckout(){return this.getHotelIdInDetail()}getHotelIdFromHiddenInput(){const e=Bn(['input[name="hotel_id"]']);if(!e)return null;const t=e.value.trim();return"string"!=typeof t||""===t?null:t}getHotelIdOnOtaCheckoutFromJsonApplicationContext(){const e=Bn(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Ht(e.textContent||"{}"),n=On(t,"body.hotel_id",null);return"string"!=typeof n||""===n?null:n}async getPlatformQueryParamMap(e){const{search:t}=e;return Dn(t?.split(";").slice(1),t=>{const[n,a]=t.split("=");e.searchParams.set(n,a)}),e.searchParams.forEach((t,n)=>{e.searchParams.set(n,t.split(";")[0])}),{checkin:async()=>{const t=e.searchParams.get("checkin");if(t&&Cr.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_in");if(n)return n;return await this.getEmbeddedValue(e,gm[om.getSection(e)]("checkin"))||Cr.unsafe_fromDate(zr(new Date,1)).toDashYYYYMMDD()},checkout:async()=>{const t=e.searchParams.get("checkout");if(t&&Cr.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_out");if(n)return n;const a=await this.getEmbeddedValue(e,gm[om.getSection(e)]("checkout"));if(a)return a;return function(e,t){if(!e||!t)return null;const n=Cr.tryFromDashYYYYMMDD(e);if(!n)return null;const a=parseInt(t,10);if(Number.isNaN(a)||a<0)return null;const r=zr(n.unsafe_toDate(),a);return Cr.fromDate(r)?.toDashYYYYMMDD()??null}(e.searchParams.get("checkin"),e.searchParams.get("interval"))||Cr.unsafe_fromDate(zr(new Date,2)).toDashYYYYMMDD()},adults:async()=>{const t=e.searchParams.get("req_adults")||e.searchParams.get("group_adults");if(t)return t;return await this.getValueFromUtagData("adults")||"2"},children:async()=>{const t=e.searchParams.get("req_children")||e.searchParams.get("group_children");if(t)return t;return await this.getValueFromUtagData("children")||"0"},currency:async()=>{try{const e=await un(Bn,e=>!e,4)(['[data-testid="header-currency-picker-trigger"]']),t=On(e,"textContent")?.replace(/\n/gm,"");if(t===bm)return null;if(!t)throw new Error("Could not scrape platform currency in Booking");return t}catch(e){return console.error("Error getting platform currency from Booking URL or page",e),null}}}}async getListingQueryParamMap(e,t){return{...await this.getPlatformQueryParamMap(t),currency:async()=>{try{if("DETAIL"===om.getSection(t)){const e=await this.getCurrencyFromUtagData();if(e)return e}else if("CHECKOUT"===om.getSection(t)){const e=await this.getCheckoutPriceElement();if(e){const t=await this.getCheckoutCurrency(e);if(t)return t}}const n=await this.getPrice(e),a=n?.currency??null;if(!a)throw new Error(`Could not scrape listing ${e} currency in Booking`);return a}catch(e){return console.error("Error getting listing currency from Booking URL or page",e),null}}}}static getSection(e){const t=e.href;return Co.test(t)?"LIST":xo.test(t)?"DETAIL":zo.test(t)?"CHECKOUT":So.test(t)?"CONFIRMATION":"UNKNOWN"}async getEmbeddedInfoJson(e){if(null!==this.embeddedInfoCache)return this.embeddedInfoCache;const t=mm[om.getSection(e)];if(!t)return null;const n=await qn([t]);return this.embeddedInfoCache=n,this.embeddedInfoCache}async getEmbeddedValue(e,t){const n=await this.getEmbeddedInfoJson(e);if(!n)return null;const a=t(n);return"string"!=typeof a?null:a}async getShouldClearOffers(e,t){return super.getShouldClearOffers(e,t,{compareHash:!0})}}const im="\n.offers-container {\n margin-top: 20px;\n}\n",sm="\n.offers-container {\n margin-top: 10px;\n}\n",cm=["#top-book"],lm="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",um=[".ph-footer"],dm="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",pm=[".bui-group.bui-button-group.bui-group--vertical-align-middle.bui-group--inline.bui-group--align-end"],hm="\n.offers-container {\n min-width: 15em;\n}\n\n.offers-item, .skeleton-button {\n padding: 12px 15px;\n}\n",mm={LIST:'script[data-capla-namespace*="b-search-web-searchresults"][data-capla-store-data="apollo"]',DETAIL:'script[data-capla-namespace*="b-property-web-property"][data-capla-store-data="apollo"]',CHECKOUT:'script[data-capla-namespace*="b-checkout-bp-accommodation"][data-capla-store-data="apollo"]',CONFIRMATION:'script[data-capla-namespace*="b-post-booking-web"][data-capla-store-data="apollo"]',UNKNOWN:null},fm=()=>()=>null,gm={LIST:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=Ft(t.ROOT_QUERY);if(!n||!n.searchQueries)return null;const a=Ft(n.searchQueries);if(!a)return null;const r=qt(a,/^search\(.*\)$/);if(!r)return null;const o=Ft(r);if(!o||!o.searchMeta)return null;const i=Ft(o.searchMeta);if(!i||!i.dates)return null;const s=Ft(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},DETAIL:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=Ft(t.ROOT_QUERY);if(!n)return null;const a=qt(n,/^hotelPageByPageName\(.*\)$/);if(!a)return null;const r=Ft(a);if(!r||!r.propertyFullExtended)return null;const o=Ft(r.propertyFullExtended);if(!o||!o.searchBoxPrefillData)return null;const i=Ft(o.searchBoxPrefillData);if(!i||!i.dates)return null;const s=Ft(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},CHECKOUT:fm,CONFIRMATION:fm,UNKNOWN:fm},bm="€$£",ym=function(e,t,n,a){var r=-1,o=null==e?0:e.length;for(a&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n},km=function(e,t,n,a,r){return r(e,function(e,r,o){n=a?(a=!1,e):t(n,e,r,o)}),n},vm=function(e,t){return e>t},wm=function(e,t){return e&&e.length?function(e,t,n){for(var a=-1,r=e.length;++a<r;){var o=e[a],i=t(o);if(null!=i&&(void 0===s?i==i&&!pn(i):n(i,s)))var s=i,c=o}return c}(e,As(t),vm):void 0};class jm extends wh{constructor(e,t="VRBO",n="Vrbo"){super(e,t,n)}shouldActivate(e){return/vrbo\.com/i.test(e)}getListingsInPage(){const e=function(e,t,n){var a=ne(e)?ym:km,r=arguments.length<3;return a(e,As(t),n,r,In)}(Un(Cm),(e,t)=>{const n=t.getAttribute("href");if(!n)return console.error("No href found for link",t),e;const a=this.getIdFromUrl(n);return a?(e.push(a),e):(console.error("No sourceId found for href",n),e)},[]);return this.filterNewListingsInPage(e)}findListingElement(e){const t=Un(Cm);if(!t||0===t.length)return null;for(const n of t){const t=n.getAttribute("href");if(t)try{if(new URL(t,window.location.origin).pathname.includes(e))return n}catch(n){console.error("Invalid URL found for link",e,t,n)}else console.error("No href found for link",e,n)}return console.error("Listing URL not found in any link",e,t),null}async renderAlternativeCTAInList(e,t){const n=t.parentElement;if(!n)return;const a=await this.insertSecondaryCTA(e,['[data-test-id="price-summary"]'],"SECONDARY_CTA_IN_LIST_ITEM",`${e.source_id}-list`,n);if(!a)return;a.$container.style.marginTop="12px";const r=await un(()=>Bn([".popover__content"],a.$reactRoot))();r&&(r.style.left="39px");const o=await un(()=>Bn([".popover"],a.$reactRoot))();o&&(o.style.zIndex="300")}markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(n&&n.parentElement){if(this.shouldRenderLabel(t)){const t=this.getLabelPlacement(n),a=this.renderLabel(e,t);this.setRenderedLabel(e,a),this.appendLabel(e,n,a.$container)}this.renderAlternativeCTAInList(t,n)}}async insertSecondaryCTAInDetailView(e){const t=await this.insertSecondaryCTA(e,['[data-stid="property-offers"]'],"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;t.$container.style.padding="10px 0px";const n=await un(()=>Bn([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="30px")}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}debouncedInsertOffersComponentInCheckoutView=Ih(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async insertOffersComponentInCheckoutViewToDebounce(e){const t=await this.insertSecondaryCTA(e,['[data-at-id="contact-continue-button-standard"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(t){t.$container.parentElement?.parentElement&&(t.$container.parentElement.parentElement.style.display="flex",t.$container.parentElement.parentElement.appendChild(t.$container)),t.$container.style.marginLeft="10px";const e=await un(()=>Bn([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();e&&(e.style.borderRadius="99px",e.style.padding="18px 28px",e.style.gap="16px",e.style.fontSize="16px")}await this.insertSecondaryCTA(e,[".price-details"],"SECONDARY_CTA_IN_CHECKOUT_SUMMARY")}appendLabel(e,t,n){const a=Bn(["figure",".LazyLoad"],t.parentElement);if(a){const e=cs(1,5);try{switch(e){case 1:a.append(n);break;case 2:a.children[0].append(n);break;case 3:a.children[0].children[0].append(n);break;case 4:a.children[0].children[0].children[0].append(n);break;case 5:a.children[0].children[0].children[1].append(n)}}catch(e){a.append(n)}}setTimeout(()=>{const a=this.findListingElement(e);a&&(a===t||this.appendLabel(e,a,n))},2e3)}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Bn(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Ih(e,2e3,{leading:!0}));const t=await un(Bn,e=>!e)([".HitCollection",'[data-stid="property-listing-results"]']);new MutationObserver(e=>{for(const t of e)"childList"===t.type&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(t,{childList:!0,subtree:!0}),this.debouncedRenderMLs()}async getPriceObject(e,t){const n=pi(e),a=await this.buildListingQueryParam("currency",t);if(null===n||!a)return null;const r=await this.getListingLoS(t);return null===r?null:{priceString:e,currency:a,priceStringIsNightly:!1,nightlyPrice:n/r,totalPrice:n}}async getPriceString(e){const t=await un(Un,e=>!e||0===e.length,10)(['[data-test-id="price-summary-message-line"] *:not(del):not(.is-visually-hidden):not(:has(*))'],e);if(!t||0===t.length)return null;const n=[...t].map(e=>{const t=e.textContent;if(!t)return null;const n=pi(t);return null===n?null:{text:t,cents:n}}).filter(e=>null!==e),a=wm(n,e=>e.cents);return a?.text||null}async findDetailPriceContainerElement(){return await un(Bn,e=>!e,10)(['[data-stid="property-offer-price-summary"]'])}async getDetailPrice(){const e=await this.findDetailPriceContainerElement();if(!e)return null;const t=await this.getPriceString(e);if(!t)return null;const n=this.getItemId();return n?this.getPriceObject(t,n):null}async getPriceFromList(e){const t=this.findListingElement(e)?.parentElement;if(!t)return null;const n=await this.getPriceString(t);return n?this.getPriceObject(n,e):null}async getCheckoutPrice(e){const t=Bn([".price-details__price"]);if(!t)return null;const n=t.textContent||"",a=pi(n),r=n.replace(/[\d.,\s]/g,"").trim();if(!r)return null;const o=ji(r);if(null===a||!o)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getItemIdOnOTACheckout(){try{const{pathname:e}=new URL(window.location.href),t=/checkout\/\d{3}\.(\d+)\.\d+/i.exec(e);return t&&t.length>1?t[1]:null}catch(e){return console.error(e),null}}getListingNameFromList(e){const t=this.findListingElement(e.source_id);if(!t||!t.parentElement)return null;const n=Bn(["h3.uitk-heading"],t.parentElement),a=n?.textContent;return a||e.directo_url}getIdFromUrl(e){const t=/(\/[a-z-]*\/)?([a-z]*)?[0-9]+[a-z]*/.exec(e);if(t&&t[0])return t[0];const n=new URL(e).pathname.split("/");return n[n.length-1].replace(/[a-z]*/g,"")}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("startDate")||e.searchParams.get("chkin")||Or(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("endDate")||e.searchParams.get("chkout")||Or(new Date(Date.now()+16641e4)),children:()=>{const t=e.searchParams.get("childrenCount");return t||((n=e.searchParams.get("children")||this.getQueryParamFromApolloState("children")||"0")?n.split(",").filter(e=>"1_"===e.slice(0,2)).length.toString():null);var n},adults:()=>{const t=e.searchParams.get("adultsCount");return t||((e.searchParams.get("adults")||this.getQueryParamFromApolloState("adults")||"2").split(",")[0]||null)},currency:()=>{try{const t=e.searchParams.get("top_cur");if(t)return t;const n=this.getCurrencyFromApolloState()||this.getQueryParamFromApolloState("currency")||null;if(!n)throw new Error(`Could not scrape platform currency in VRBO (${this.platform}, ${this.base.name})`);return n}catch(e){return console.error("Error getting currency from VRBO URL or page",e),null}}}}static getSection(e){const t=e.href;return Oo.test(t)?"LIST":Eo.test(t)?"DETAIL":Lo.test(t)?"CHECKOUT":"UNKNOWN"}cachedApolloState=null;getApolloState(){if(this.cachedApolloState)return this.cachedApolloState;const e=Un(["script"]);if(!e)return null;const t=[...e].find(e=>_m.test(e.textContent));if(!t)return null;const n=t.textContent.replace(_m,"").replace(xm,"");if(!n)return null;const a=Ht(n);return"string"!=typeof a?null:(this.cachedApolloState=Kt(a),this.cachedApolloState)}getApolloStateLocalePreferences(){const e=this.getApolloState();if(!e||!e.ROOT_QUERY)return null;const t=Ft(e.ROOT_QUERY);if(!t)return null;const n=qt(t,/^localePreferences\(.*\)$/);if(!n)return null;return Ft(n)||null}getQueryParamFromApolloState(e){try{const t=this.getApolloStateLocalePreferences();if(!t||!t.queryParamsToSubmit||!Array.isArray(t.queryParamsToSubmit))return null;const n=t.queryParamsToSubmit.map(Ft).filter(e=>void 0!==e&&"string"==typeof e.key&&"string"==typeof e.value).find(t=>t.key===e)?.value;return n??null}catch(t){return console.error(`Error getting query param ${e} from Apollo state`,t),null}}getCurrencyFromApolloState(){try{const e=this.getApolloStateLocalePreferences();if(!e||!e.trigger)return null;const t=Ft(e.trigger);if(!t)return null;const n=t.text;return"string"!=typeof n?null:n}catch(e){return console.error("Error getting currency from Apollo state",e),null}}}const _m=/^window\.__APOLLO_STATE__ = JSON.parse\(/,xm=/\);$/,Cm=['[data-stid="open-product-information"]','[data-stid="open-hotel-information"]'];class zm extends jm{constructor(e){super(e,void 0,"Abritel")}shouldActivate(e){return/abritel\.fr/i.test(e)}getIdFromUrl(e){const t=/\/location-vacances\/([a-z]*[0-9]+[a-z]*)|$|\?/.exec(e),n=t?.[1];return n?function(e){return/p(\d+)$/.test(e)?e.replace(/^p/,"")+"a":/p(\d+)a$/.test(e)?e.replace(/^p/,"").replace(/a$/,"ha"):/p(\d+)vb$/.test(e)?e.replace(/^p/,"").replace("vb",""):e}(n):null}static getSection(e){const t=e.href;return Po.test(t)?"LIST":Ao.test(t)?"DETAIL":Io.test(t)?"CHECKOUT":"UNKNOWN"}async getPlatformQueryParamMap(e){return{...await super.getPlatformQueryParamMap(e),currency:"EUR"}}}class Sm extends jm{constructor(e){super(e,"EXPEDIA","Expedia")}shouldActivate(e){return/expedia\.[a-z.]{2,7}/i.test(e)}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Bn(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getHotelIdInDetail(){const{href:e}=window.location;return this.getIdFromUrl(e)||null}async getItemIdOnOTACheckout(){try{const e=Bn(['[data-stid="product-details-wrapper"] img']);return new URL(e?.getAttribute("src")||"").pathname.split("/").slice(-2)[0]||null}catch(e){return console.error(e),null}}getIdFromUrl(e){const t=/\/[\w-]*?\.h(\d*)\.[\w-]*\??/g.exec(e);return t?t[1]:""}async insertSecondaryCTAInDetailView(e){}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}async insertOffersComponentInCheckoutViewToDebounce(e){setTimeout(async()=>{try{const t=await this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta",selector:['[data-module="booking"] :has(> [data-testid="book-button"])'],componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:Am,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});if(!t)return;t.$container.style.display="inline-block"}catch(e){console.error("Error inserting offers component in Expedia checkout view",e)}},2e3)}debouncedInsertOffersComponentInCheckoutView=Ih(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async getCheckoutPrice(e){const t=Bn(['[data-stid="price-summary-card"] [style="text-align:right"] .uitk-type-500']);if(!t)return null;const n=t.textContent||"",a=pi(n),r=n.replace(/[\d.,\s]/g,"").trim();if(!r)return null;const o=ji(r);if(null===a||!o)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}async findDetailPriceContainerElement(){return await un(Bn,e=>!e,10)(['[data-stid="property-offer-1"]'])}async insertOffersComponentInDetail(e){const t=await un(e=>{const t=Bn(e);return t?t.parentElement:null},e=>null===e,10)(['[data-stid="submit-hotel-reserve"]']);t&&await this.insertOffersComponent(e,{idSuffix:"list",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:Lm,ctaPrefix:"OFFERS_IN_DETAIL"}})}static getSection(e){const t=e.href;return Do.test(t)?"LIST":No.test(t)?"DETAIL":To.test(t)?"CHECKOUT":"UNKNOWN"}async renderAlternativeCTAInList(e,t){}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.parentElement;n&&await this.insertOffersComponent(e,{idSuffix:"list",selector:['[data-test-id="price-summary"]'],container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Om,vertical:!1,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async getShouldClearOffers(e,t){e=e?new URL(e):null,t=new URL(t);for(const n of Em)e?.searchParams.delete(n),t.searchParams.delete(n);return super.getShouldClearOffers(e,t)}}const Em=["pwaDialog","comparePropertyIds"],Om="\n.offers-container {\n margin-top: 0.5em;\n\n position: relative;\n z-index: 300;\n}\n",Lm="\n.offers-container {\n margin: 1em 0;\n}\n\n.offers-container.offers-container-horizontal {\n flex-direction: row;\n}\n\n@media screen and (min-width: 992px) {\n .offers-container {\n margin: 1em 0 1em 0;\n }\n}\n",Am="\n.offers-container {\n min-width: 15em;\n margin-left: 1em;\n}\n\n\n.skeleton-button {\n top: 0.5em;\n}\n";var Pm=1/0;const Im=function(e){var t=function(e){return e?(e=Lh(e))===Pm||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0};var Nm=Math.max;const Dm=(Tm=function(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var r=null==n?0:Im(n);return r<0&&(r=Nm(a+r,0)),function(e,t,n,a){for(var r=e.length,o=n+(a?1:-1);a?o--:++o<r;)if(t(e[o],o,e))return o;return-1}(e,As(t),r)},function(e,t,n){var a=Object(e);if(!ze(e)){var r=As(t);e=Se(e),t=function(e){return r(a[e],e,a)}}var o=Tm(e,t,n);return o>-1?a[r?e[o]:o]:void 0});var Tm;function Rm(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Mm extends wh{constructor(e){super(e,"GOOGLE","Google")}shouldActivate(e){return null!==/google\.[a-z.]{2,7}\/search\?/i.exec(e)}getListingsInPage(){const e=Un(['#search [jsname="UWckNb"]'])||[];return function(e){for(var t=-1,n=null==e?0:e.length,a=0,r=[];++t<n;){var o=e[t];o&&(r[a++]=o)}return r}(Array.from(e).map(e=>{const t=e.getAttribute("href"),n=vo(t);if(!n)return null;const a=function(e,t){switch(e){case"AIRBNB":return new Th(t);case"BOOKING":return new om(t);case"VRBO":return new jm(t);case"EXPEDIA":return new Sm(t);default:return null}}(n,this.rendererConfig);return a?`${n}::${a.getItemId(t)}`:null}))}findListingElement(e){const t=Un(['#search [jsname="UWckNb"]']);return Dm(t,t=>{const n=t.getAttribute("href");return!!n&&function(e){const t=vo(e);return"GOOGLE"!==t&&null!==t}(n)&&n.includes(e)})??null}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.shouldRenderLabel(t)){const t=this.findListingElement(e);if(t){const n=this.getLabelPlacement(t),a=this.renderLabel(e,{...n,transform:"scaleY(-1)"},"transparent");this.setRenderedLabel(e,a),this.appendLabel(t,a.$container)}}}getLabelPlacement(e){return{position:"absolute",top:"0px",left:"-85px",zIndex:"127",borderTopLeftRadius:"25px"}}appendLabel(e,t){e.append(t)}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Ih(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await un(Bn,e=>!e)(["#search"]);new MutationObserver(e=>{for(const t of e)!Rm(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){return null}async getDetailPrice(){return null}getItemId(){return""}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin"),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout"),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:()=>e.searchParams.has("display_currency")?e.searchParams.get("display_currency"):e.searchParams.has("currency")?e.searchParams.get("currency"):null}}static getSection(e){const t=e.href;return Ro.test(t)?"LIST":"UNKNOWN"}getItemIdOnOTACheckout(){throw new Error("Method not implemented.")}insertSecondaryCTAInDetailView(e){throw new Error("Method not implemented.")}insertOffersComponentInCheckoutView(e){throw new Error("Method not implemented.")}getCheckoutPrice(e){throw new Error("Method not implemented.")}}const $m=new class{renderer=void 0;availableRenderers=[];initialize(e){if(void 0!==this.renderer)throw new Error("PlatformContentFactory already initialized");this.availableRenderers=[new Th(e),new om(e),new jm(e),new zm(e),new Sm(e),new Mm(e)],this.renderer=this.getActivableRenderer(window.location.href)}get(){if(void 0===this.renderer)throw new Error("PlatformContentFactory not initialized");return this.renderer}getActivableRenderer(e){for(const t of this.availableRenderers)if(t.shouldActivate(e))return t;return null}};async function Bm(e){const t=$m.get();return t?await t.getPrice(e):null}async function Um(e){const t=$m.get();return t?await t.getListingLoS(e):null}function Vm(){const e=$m.get();return e?e.getListingsInPage():[]}function Fm(){const e=$m.get();return e?e.getItemId():null}async function qm(){const e=$m.get();return e?await e.getItemIdOnOTACheckout():null}async function Hm(){const e=$m.get();return e?await e.getHotelIdInDetail():null}async function Km(){const e=$m.get();return e?await e.getHotelIdInCheckout():null}const Gm=["checkin","checkout","currency","children","adults"];async function Ym(e){const t=await Promise.all(Gm.map(async t=>{const n=await e(t);return[t,"checkin"===t||"checkout"===t?n?Er(n):null:n]}));return Object.fromEntries(t)}async function Qm(e,t){return Ym(n=>async function(e,t,n=window.location.href){const a=$m.get();return a?await a.buildListingQueryParam(e,t,n):null}(n,e,t))}function Wm(e){if(!(e.checkin&&e.checkout&&e.adults&&e.currency))return null;const t=parseInt(e.adults,10);if(!Number.isInteger(t))return null;const n=null!==e.children?parseInt(e.children,10):null;return null===n||Number.isInteger(n)?{checkin:e.checkin,checkout:e.checkout,adults:t,children:n??void 0,currency:e.currency}:null}const Jm=["vidahotels.com","addresshotels.com"],Zm=new class{config=null;constructor(){}initialize(e){if(this.config)throw new Error("FrontNavigationFactory is already initialized");this.config=e}async openOutclickTab(e,t,n,a){if(!this.config)throw new Error("FrontNavigationFactory is not initialized");this.config.onBeforeOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n}),await Et.openOutclickTab({sourceUrl:window.location.href,targetUrl:e,cta:t,sourceId:n.sourceId,stayParams:n.stayParams,useRedirectEngine:a,redirectEngineParams:{coupon:n.coupon??null,discount:n.discount??null}}),this.config.onAfterOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n})}async navigateToDirectLink(e,t,n,a=this.config?.useRedirectEngine??!0){await Xm(e),await this.openOutclickTab(e,t,n,a)}async navigateToDestinationLink(e,t,n,a=this.config?.useRedirectEngine??!0){await Xm(e);const r=await async function(e){return Ym(t=>async function(e,t=window.location.href){const n=$m.get();return n?await n.buildPlatformQueryParam(e,t):null}(t,e))}(window.location.href);await this.openOutclickTab(e,t,{...n,sourceId:n.fakeSourceId,stayParams:r,backlink:null},a)}};async function Xm(e){try{const t=new URL(e),n=Vr(t);if(Jm.includes(n)){const e=is(t.hostname);await Et.maybeOpenTempTab({url:e})}}catch(e){console.error("Error opening new tab",e)}}async function ef(){const[e,t]=await Promise.all([yr(),Et.getSessionId()]);return{user_id:e,session_id:t}}function tf(e){return{ota_displayed_price:e?.displayedOtaPrice??null,ota_displayed_currency:e?.displayedCurrency??null,direct_displayed_price:e?.displayedDirectoPrice??null,direct_displayed_currency:e?.displayedCurrency??null,displayed_difference:e?.displayedPriceDifference??null}}function nf(e){return{direct_currency:e?.currency??null,direct_pricing_period:null!==e?e.nightly?"NIGHTLY":"TOTAL":null,direct_gross_total_price:e?.price??null}}function af(e){return{...(n=e.pricingParams,{checkin:n?.checkin?Cr.tryFromDashYYYYMMDD(n.checkin)?.toDashYYYYMMDD()??null:null,checkout:n?.checkout?Cr.tryFromDashYYYYMMDD(n.checkout)?.toDashYYYYMMDD()??null:null,adults:null!=n?.adults?Mt(n.adults):null,children:null!=n?.children?Mt(n.children):null}),direct_url:e.directUrl,...(t=e.otaPrice,{ota_currency:t.currency,ota_pricing_period:t.priceStringIsNightly?"NIGHTLY":"TOTAL",ota_gross_total_price:t.totalPrice}),...e.directoPrice.price?{...nf(e.directoPrice),...tf(e.displayPrices)}:{...nf(null),...tf(null)}};var t,n}async function rf(e){const t=await async function(e){return{...await ef(),platform:e.platform,url_visited:e.sourceUrl,source_id:e.sourceId,...af(e),popup_displayed:e.popupDisplayed,shop_endpoint_response_time_ms:e.shopEndpointResponseTimeMs}}(e);return await async function(e){return await an.get().post("/v2/rate-from-ota-comparison",{body:Tt.B64JsonLegacy(e)})}(t)}async function of(e,t){const n=e.source_id,a=$m.get();if(!a||!await async function(e){const t=$m.get();return!!t&&t.canMakePricingRequest(e)}(n))return null;const r=await Qm(n,window.location.href),o={url:e.directo_url,...r,isUrlParametrised:e.stay_parametrised??!1,..."BOOKING"===a.platform?{hotelId:await a.getHotelIdInDetail()}:{}},{value:i,elapsed:s}=e.pricing?{value:e.pricing,elapsed:0}:await async function(){const e=performance.now();return{value:await async function(e){return await sn.get().get("/shop",{params:e,parser:new Qt})}(o),elapsed:performance.now()-e}}(),c=i&&null!==i.price&&null!==i.currency&&""!==i.currency?Tp({otaTotalPrice:t.totalPrice,otaCurrency:t.currency,directoPrice:i.price,directoIsNightly:i.nightly??!1,directoCurrency:i.currency,lengthOfStay:await Um(n),displayCurrency:t.currency}):null,l=vo(window.location.href);return l?(c&&Et.storeCachedDisplayPrices({platform:l,source_id:e.source_id,...c}),rf({platform:l,sourceUrl:window.location.href,sourceId:e.source_id,pricingParams:o,directUrl:e.directo_url,otaPrice:t,directoPrice:i,displayPrices:c,shopEndpointResponseTimeMs:s,popupDisplayed:!!c&&Np(c)}),c):c}async function sf(){const e=await qm(),t=vo(window.location.href);return null===e||null===t?null:await Et.getCachedDisplayPrices({source_id:e,platform:t})}async function cf(e){const t=vo(window.location.href);if(!t)return[];const n=Wm(await Qm(e.listingId,window.location.href));if(!n)return[];const{offers:a}=await Et.getAlternativeOffersByCompoundIds({id:[e],language:$n(),platform:t,...n});return a}async function lf(){const e=await df();return null===e?[]:cf(e)}async function uf(){const[e,t]=await Promise.all([un(Hm,e=>null===e)(),un(Fm,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}async function df(){const[e,t]=await Promise.all([un(Km,e=>null===e)(),un(qm,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}const pf=function(e,t){var n=[];return In(e,function(e,a,r){t(e,a,r)&&n.push(e)}),n},hf=function(e,t){return(ne(e)?De:pf)(e,As(t))},mf=Hp();async function ff(){const e=await qm(),t=vo(window.location.href);return null!==e&&null!==t?await Et.getCachedDirectoInfo({source_id:e,platform:t}):null}async function gf(e){const t=await un(Bm)(e);if(t)return t;const n=vo(window.location.href);return n?await Et.getCachedListingPrice({source_id:e,platform:n}):null}async function bf(e,t,n){if(!(await jr().getFeature("backlink-ota-button")).on)return{};const{backlinks:a}=await Et.getBacklinksByHotelIds({id:e,language:$n(),platform:n,...t});return a}async function yf(e){const t=vo(window.location.href);if(!t)return{};const n=Wm(await Qm(e.listingId,window.location.href));return n?bf([e],n,t):{}}async function kf(){const e=await df();return null===e?null:(await yf(e))[e.listingId]??null}const vf=Hp();class wf extends ts.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const jf=new wf;async function _f(e,t,n){return e.then(e=>{const n=Sp(e);return t(n),n}).catch(e=>{console.error(`Error in ${n}:`,e),vf.exception({reason:e.toString()});const a={type:"error"};return t(a),a})}async function xf(e,t,n,a,r){return n.then(n=>{for(const r of e)a(r,Sp(n.get(r)??t));return Sp(n)}).catch(t=>{console.error(`Error in ${r}:`,t),vf.exception({reason:t.toString()});for(const t of e)a(t,Ep());return{type:"error"}})}const Cf=new class{oldUrlForListings=null;constructor(){Qu(this,{setPlatformRouteName:wu})}async setPlatformRouteName(e,t){const n=t.renderAlternativeOffers;if("DETAIL_VIEW"===e){const e=Fm();if(jf.emit("platformRouteChanged",{name:"DETAIL_VIEW",sourceId:e}),!e)return;await this.handleDetailViewChange(e,n)}else if("LIST_VIEW"===e)jf.emit("platformRouteChanged",{name:"LIST_VIEW"}),async function(e){try{const t=$m.get();if(!t)return;t.setMLRenderer(e)}catch(e){console.error(e)}}(this.handleListViewChange.bind(this,n)),await this.handleListViewChange(n);else if("CHECKOUT_VIEW"===e){const e=await qm();if(jf.emit("platformRouteChanged",{name:"CHECKOUT_VIEW",sourceId:e}),!e)return;await this.handleCheckoutViewChange(e)}else jf.emit("platformRouteChanged",{name:e})}async handleDetailViewChange(e,t){xp.initializeOfferById(e),function(e){const t=$m.get();t&&t.insertOffersComponentInDetail(e)}(e),_f(t?async function(){const e=await uf();return null===e?[]:cf(e)}():Promise.resolve([]),t=>xp.updateOfferAlternativeOffers(e,t),"fetching alternative offers for detail view"),_f(async function(){const e=await uf();return null===e?null:(await yf(e))[e.listingId]??null}(),t=>xp.updateBacklink(e,t),"fetching backlink for detail view");const n=await _f(async function(e){const t=vo(window.location.href);if(!t)return null;const n=await Qm(e,window.location.href),a=(await Et.fetchDirectoInfo({ids:[e],platform:t,...n}))[0]??null,r=a?.directo_url;return r&&a&&Et.storeCachedDirectoInfo({platform:t,...a}),mf.event("view_product",{directo:!!r}),a}(e),t=>xp.updateOfferDirectoInfo(e,t),"fetching directo info for detail view"),a=zp(n,null);jf.emit("detailViewDirectoInfoLoaded",a),a?.directo_url&&function(e){const t=$m.get();t&&t.insertSecondaryCTAInDetailView(e)}(a);const r=zp(await _f(async function(e){const t=vo(window.location.href);if(!t)return null;const n=await un(Bm)(e);return n?(Et.storeCachedListingPrice({source_id:e,platform:t,...n}),n):null}(e),t=>xp.updateOfferListingPrice(e,t),"fetching scraped listing price for detail view"),null),o=zp(await _f(a&&r?of(a,r):Promise.resolve(null),t=>xp.updateOfferDisplayPrices(e,t),"fetching directo price for detail view"),null);jf.emit("detailViewDisplayPricesLoaded",o)}async handleListViewChange(e){const t=vo(window.location.href);if(!t)return;const n=new URL(window.location.href);await async function(e,t){const n=$m.get();return!n||n.getShouldClearOffers(e,t)}(this.oldUrlForListings,n)&&(function(){const e=$m.get();e&&e.cleanAllListingsAndElements()}(),xp.clear()),this.oldUrlForListings=n;const a=await un(Vm)();for(const e of a)xp.initializeOfferById(e);!function(e){const t=$m.get();if(t)for(const n of e)t.insertOffersComponentInList(n)}(a),xf(a,[],e?async function(e){if(!e||0===e.length)return new Map;const t=vo(window.location.href);if(!t)return new Map;const n=Wm(await Qm(e[0],window.location.href));if(!n)return new Map;const{offers:a}=await Et.getAlternativeOffersByCompoundIds({id:e.map(e=>({listingId:e})),platform:t,language:$n(),...n}),r=new Map;for(const e of a)r.has(e.source_id)||r.set(e.source_id,[]),r.get(e.source_id).push(e);return r}(a):Promise.resolve(new Map),xp.updateOfferAlternativeOffers,"fetching alternative offers for list view"),xf(a,null,async function(e){if(!e||0===e.length)return new Map;const t=vo(window.location.href);if(!t)return new Map;const n=Wm(await Qm(e[0],window.location.href));if(!n)return new Map;const a=await bf(e.map(e=>({listingId:e})),n,t);return new Map(Object.entries(a).map(([e,t])=>[e,t]))}(a),xp.updateBacklink,"fetching backlinks for list view");const r=xf(a,null,async function(e){const t=window.location.href,n=vo(t);if(0===e.length||!n)return new Map;const a=await Qm(e[0],t),r=await Et.fetchDirectoInfo({ids:e,platform:n,...a});var o;o=r.sort((e,t)=>(e.ranking||0)-(t.ranking||0)),Dn(o,e=>function(e){const t=$m.get();t&&e.directo_url&&t.markListingAsMultilisting(e.source_id,e)}(e));const i=new Map,s=hf(r,"directo_url");for(const e of s)i.set(e.source_id,e);return i}(a),xp.updateOfferDirectoInfo,"fetching directo infos for list view");r.then(e=>{const t=Array.from(xp.offersById.values()).map(e=>Cp(e.directoInfo,null)).filter(e=>null!==e);jf.emit("listingDirectoInfosInListLoaded",t)});const o=xf(a,null,async function(e){const t=e.map(async e=>[e,await Bm(e)]),n=await Promise.all(t);return new Map(n)}(a),xp.updateOfferListingPrice,"fetching scraped listing prices for list view"),i=Promise.all([o.then(e=>zp(e,new Map)),r.then(e=>zp(e,new Map))]).then(([e,t])=>async function(e,t,n){return new Map(await Promise.all(e.map(async e=>{const a=t.get(e),r=n.get(e);if(!a||!r||!r.pricing)return[e,null];const o=Tp({otaTotalPrice:a.totalPrice,otaCurrency:a.currency,directoPrice:r.pricing.price,directoCurrency:r.pricing.currency,lengthOfStay:await Um(e),directoIsNightly:r.pricing.nightly,displayCurrency:a.currency});return[e,{otaPrice:a,directoInfo:{...r,pricing:r.pricing},displayPrices:o}]})))}(a,e,t));xf(a,null,i,(e,t)=>{const n=function(e){switch(e.type){case"error":return e;case"loaded":return Sp((t=e.data,t?.displayPrices??null));default:Ot(e)}var t}(t);xp.updateOfferDisplayPrices(e,n)},"calculating prices for list view"),a.length>0&&i.then(e=>async function(e,t,n){const a=window.location.href,r=await Qm(e,a),o=function*(e,t){let n=0;for(const a of e)t(a)&&(yield a),n+=1}(n.entries(),e=>null!==e[1]),i=function(e){const t={};for(const[n,a]of e)t[n]=a;return t}(function*(e,t){let n=0;for(const a of e)yield t(a),n+=1}(o,([e,{otaPrice:t,directoInfo:n,displayPrices:a}])=>[e,{directUrl:n.directo_url,otaPrice:t,directoPrice:n.pricing,pricingParams:r,displayPrices:a}]));0!==Object.keys(i).length&&async function(e){const t=await async function(e){return{...await ef(),platform:e.platform,url_visited:e.sourceUrl,items:Vh(e.items,af)}}(e);await async function(e){return await an.get().post("/v2/batch-rates-from-ota-comparison",{body:Tt.B64Json(e)})}(t)}({platform:t,sourceUrl:a,items:i})}(a[0],t,e)).catch(e=>{console.error("Error building and posting batch rates for list view:",e)})}async handleCheckoutViewChange(e){xp.initializeOfferById(e);const t=Promise.all([_f(sf(),t=>xp.updateOfferDisplayPrices(e,t),"fetching directo price for checkout view"),_f(ff(),t=>xp.updateOfferDirectoInfo(e,t),"fetching directo info for checkout view")]).then(([e,t])=>{const n=zp(e,null),a=zp(t,null);null!==a&&function(e){const t=$m.get();t&&t.insertOffersComponentInCheckoutView(e)}(a),jf.emit("checkoutViewDataLoaded",{pricing:n,directoInfo:a})});await Promise.all([t,_f(gf(e),t=>xp.updateOfferListingPrice(e,t),"fetching listing OTA price for checkout view"),_f(lf(),t=>xp.updateOfferAlternativeOffers(e,t),"fetching alternative offers for checkout view"),_f(kf(),t=>xp.updateBacklink(e,t),"fetching backlink for checkout view")])}},zf={LIST:"LIST_VIEW",DETAIL:"DETAIL_VIEW",CHECKOUT:"CHECKOUT_VIEW",CONFIRMATION:"GENERAL_VIEW",UNKNOWN:"GENERAL_VIEW"};const Sf={isDirectoExtension:!0,renderLabels:!0,hideOwnOtaLabels:!1,renderSecondaryCTAs:!0,renderAlternativeOffers:!0,customization:{labelSVG:(0,Qr.jsx)(({width:e="29",height:t="31",viewBox:n="0 0 29 31",fill:a="none",style:r={}})=>(0,Qr.jsxs)("svg",{width:e,height:t,viewBox:n,style:r,fill:a,xmlns:"http://www.w3.org/2000/svg",children:[(0,Qr.jsx)("path",{d:"M23.0716 26.6715C21.7556 25.5134 20.4569 24.3399 19.1234 23.1974C18.8924 22.9998 18.7424 23.0044 18.5196 23.163C17.9021 23.6022 17.2174 23.9458 16.5035 24.2399C15.0518 24.8382 13.516 25.0848 11.9241 25.084C11.2304 25.084 10.5366 25.0821 9.84291 25.0817C9.69079 25.0817 9.56738 25.192 9.56738 25.328V30.3459C9.56738 30.4815 9.69036 30.5914 9.84205 30.5918C10.6313 30.5934 11.4206 30.596 12.2104 30.5995C13.0472 30.6033 13.8862 30.5658 14.6991 30.4478C16.1646 30.2353 17.5992 29.8856 18.9631 29.328C20.4393 28.7244 21.8079 27.9768 23.0596 27.0526C23.2588 26.9055 23.2511 26.8293 23.0716 26.6715Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M11.9914 6.24371C13.0108 6.25367 14.0341 6.32835 15.0046 6.6133C16.1354 6.94497 17.2632 7.30574 18.2239 7.97061C18.3289 8.043 18.4395 8.11155 18.532 8.19505C18.7 8.34633 18.832 8.32756 18.9845 8.18432C19.1632 8.01619 19.341 7.84729 19.5279 7.68605C20.7084 6.66883 21.8898 5.65237 23.0754 4.63975C23.2177 4.51834 23.2687 4.44902 23.0758 4.30769C22.4382 3.84045 21.7818 3.39924 21.082 3.00821C18.502 1.56625 15.6816 0.791076 12.6509 0.747798C11.7155 0.734394 10.7796 0.726734 9.84419 0.722904C9.69165 0.722138 9.56738 0.832822 9.56738 0.969167V5.9917C9.56738 6.12766 9.69079 6.23797 9.84291 6.23758C10.5589 6.23682 11.275 6.23682 11.991 6.24371H11.9914Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M6.70176 0.717285H1.12783C0.951519 0.717285 0.808594 0.845031 0.808594 1.00261V30.3052C0.808594 30.4628 0.951519 30.5905 1.12783 30.5905H6.70176C6.87806 30.5905 7.02099 30.4628 7.02099 30.3052V1.00261C7.02099 0.845031 6.87806 0.717285 6.70176 0.717285Z",fill:"#000141"}),(0,Qr.jsx)("path",{d:"M25.0106 6.09228C25.5783 6.67174 26.0904 7.28721 26.5364 7.94748C27.1895 8.91453 27.678 9.94209 28.0923 11.0091C28.4973 12.0528 28.6978 13.1205 28.8306 14.2109C28.9073 14.8421 28.9819 15.4713 28.9459 16.1044C28.8345 18.0542 28.3944 19.9351 27.5023 21.7302C27.1826 22.3736 26.8205 23.0032 26.41 23.5892C26.0004 24.174 25.5629 24.7711 24.9428 25.2862C24.6219 24.9867 24.3048 24.6811 23.9766 24.3854C22.8946 23.4103 21.8114 22.4364 20.7213 21.4682C20.5854 21.3475 20.5709 21.289 20.7011 21.1423C21.4459 20.3012 21.9421 19.3384 22.3024 18.3242C22.6928 17.2262 22.8625 16.0849 22.7104 14.9455C22.6101 14.1925 22.4948 13.4288 22.1996 12.6969C21.9001 11.9555 21.514 11.2603 21.0474 10.5962C20.9295 10.4285 20.8267 10.2473 20.6788 10.1033C20.531 9.95971 20.5404 9.87775 20.6943 9.74562C21.7762 8.81534 22.8676 7.89425 23.9252 6.94098C24.2504 6.64799 24.5902 6.3596 24.9424 6.08691C24.9651 6.08845 24.9883 6.08998 25.011 6.09113L25.0106 6.09228Z",fill:"#000141"})]}),{}),getSecondaryCtaSvg:e=>e?(0,Qr.jsx)(Ds,{}):(0,Qr.jsx)(Ns,{}),mainColorHex:"#000141",labelCSSDefinition:'\n .dr-floating-directo:before {\n content: "";\n position: absolute;\n width: 29px;\n height: 31px;\n background-color: #FDC307;\n left: 0;\n top: 0;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n }\n .dr-floating-directo:after {\n content: "";\n position: absolute;\n width: 39px;\n height: 41px;\n background-color: #FDC307;\n left: -5px;\n top: -5px;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n }\n .dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n '}};async function Ef(e){return Et.getTruesignToken(e)}async function Of(e){const t=await Et.getConfig(),n=!t.partnerKey,a=Object.assign({...Sf,isDirectoExtension:n},e.platformContentConfig);$m.initialize(a);const r={partnerKey:t.partnerKey,appVersion:"adunit-2.0.0",getTruesignToken:Ef};nn.initialize(r),an.initialize(r),on.initialize(r),sn.initialize(r),cn.initialize(r),ln.initialize(r),Zm.initialize(e.frontNavigationFactoryConfig);const o=new ci;!function(e,t=500){let n="";!function a(r=""){r!==n&&(e(r),n=r),setTimeout(()=>a(window.location.href),t)}(window.location.href)}(e=>{!function(e,t){const n=function(e){const t=function(e){const t=$m.get();return t?t.base.getSection(new URL(e)):null}(e);return null===t?"FALLBACK":zf[t]}(e);Cf.setPlatformRouteName(n,t)}(e,a),rs.initialize(e),o.initialize(e)})}const Lf=()=>Gn.createElement("svg",{width:"16",height:"16",viewBox:"100 100 260 260",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Gn.createElement("path",{d:"M215.164 146.441C212.991 146.564 211.637 146.888 211.133 147.398C210.5 148.042 209.8 148.305 209.503 148.003C209.352 147.851 209.291 147.549 209.324 147.157C209.431 145.881 210.814 144.666 211.077 144.436L214.357 144.011L213.898 143.692C213.898 143.692 214.346 143.266 214.923 142.639L217.778 146.39C217.218 146.385 216.216 146.379 215.158 146.441H215.164Z",fill:"white"}),Gn.createElement("path",{d:"M215.063 142.516C216.071 141.408 217.37 139.717 217.253 138.401C216.984 135.44 223.025 134.852 223.086 134.846L223.579 134.801L223.209 134.471C222.941 134.23 222.538 133.732 222.605 133.435C222.633 133.301 222.778 133.195 223.03 133.122C224.212 132.78 225.354 131.229 225.757 130.63L227.375 132.36L230.42 131.616L230.46 131.577C230.46 131.577 231.803 130.3 232.811 129.287C233.074 129.024 233.544 128.872 234.205 128.833C235.269 128.772 236.478 129.035 236.736 129.096L239.456 131.521L239.361 133.799H239.58C240.291 133.816 242.368 134.034 242.564 134.857C242.765 135.703 242.413 138.082 242.491 139.588L234.446 143.614L231.473 145.103L227.056 143.054L226.949 143.166C226.619 143.507 225.88 143.725 224.805 143.787C222.079 143.944 218.042 143.098 218.003 143.093L215.063 142.533V142.516Z",fill:"white"}),Gn.createElement("path",{d:"M224.914 145.477C224.93 145.376 224.981 145.23 225.227 145.107C225.535 144.956 226.045 144.861 226.75 144.822C228.267 144.738 230.137 144.945 230.154 144.945L231.442 145.091L222.461 149.586L222.271 149.681C221.09 149.295 220.037 148.83 219.673 148.657C219.752 148.125 219.908 147.627 220.02 147.56C220.02 147.571 220.116 147.632 220.267 147.957C220.502 148.461 221.051 148.69 221.89 148.64C223.492 148.55 225.703 147.481 225.793 147.436L226.073 147.302L225.849 147.089C225.563 146.815 224.835 145.992 224.914 145.471V145.477Z",fill:"white"}),Gn.createElement("path",{d:"M212.827 294.736C210.491 294.736 209.188 291.744 211.067 290.049L232.621 275.56L213.537 256.648L218.338 254.248L241.206 267.794L270.419 249.582L282.35 242.144L271.28 231.176L268.304 228.226L236.195 196.403L247.696 190.644L277.862 209.863L286.139 215.137L307.043 228.458L353.715 214.336C360.184 214.336 363.768 222.78 358.343 227.36L319.997 255.045L317.29 281.018L312.575 326.205L301.074 331.958L298.685 308.993L297.786 300.355L296.322 286.308L294.266 266.551L284.202 270.448L249.128 284.021L245.425 310.834L240.624 313.234L238.574 293.52L237.81 286.201L213.392 294.699C213.203 294.736 213.015 294.752 212.837 294.752L212.827 294.736Z",fill:"white"}),Gn.createElement("path",{d:"M340.953 165.217C335.422 155.033 328.408 145.618 320.025 137.309L318.973 136.27L326.628 152.396C327.72 154.217 328.529 155.998 329.136 157.697L323.107 153.853L285.304 129.768L267.378 118.343L261.132 121.473C262.205 119.787 263.344 117.885 263.088 117.44L271.397 115.652L271.053 115.315C271.053 115.315 268.598 112.86 269.664 111.046C269.961 110.54 270.858 110.23 272.26 110.149C273.98 110.048 276.064 110.324 277.157 110.493L279.693 110.891L277.285 110C262.42 104.483 246.8 102.008 230.843 102.649C230.02 102.77 229.487 102.932 229.184 103.148C227.707 104.193 225.036 108.294 224.78 108.692C224.422 109.036 208.087 123.091 203.986 123.321C203.427 123.354 202.9 123.3 202.422 123.166L201.572 118.721L201.329 118.748C201.329 118.748 199.636 118.957 198.456 119.024C197.626 119.072 208.917 109.569 208.89 109.555C208.815 109.481 208.6 108.834 208.471 108.193L208.424 107.95L208.181 107.991C208.181 107.991 205.828 108.361 204.816 108.429C205.146 108.018 205.861 107.276 206.947 106.513L208.08 105.718L206.738 106.048C197.094 108.429 187.759 112.024 179.005 116.718L178.937 116.752L178.229 117.993L177.845 119.8L173.144 122.403L174.479 123.928L169.327 128.318L167.404 128.082L164.585 130.686L161.388 131.063L161.665 131.421C162.211 132.142 162.994 133.485 162.744 134.024C162.717 134.085 162.596 134.287 162.063 134.28C159.642 134.247 153.423 140.472 153.16 140.735L152.708 141.193L158.239 141.059L151.467 152.679L148.668 152.49L147.427 155.37L146.834 154.338L144.864 154.453L144.696 151.499L148.351 143.015L145.674 143.17L145.6 143.251C140.373 149.199 135.712 155.687 131.753 162.546L132.178 162.836L138.882 154.588C139.064 154.521 139.658 154.305 140.305 154.271C141.62 154.197 142.295 154.838 142.376 156.24C142.389 156.524 145.343 156.591 147.69 156.652C146.045 156.321 144.453 155.883 144.649 155.384L147.98 156.659C149.37 156.692 150.483 156.733 150.516 156.82C150.59 157.016 150.685 157.124 150.779 157.185C150.3 157.104 149.296 156.955 148.237 156.76L154.671 159.215L160.916 164.887L179.18 167.692L171.593 174.976C171.606 175.091 172.82 185.039 170.487 191.575C168.254 197.82 153.376 204.902 153.524 205.697C153.207 206.385 142.76 212.105 140.622 213.157C138.356 214.27 139.071 217.628 139.307 218.512C138.248 219.085 133.21 221.958 131.821 225.546C131.531 226.295 131.187 226.686 130.809 226.706C129.899 226.76 128.624 224.784 128.037 223.523L127.963 223.361L124.8 223.543L121.016 219.996L118.339 223.665L115.762 224.083V224.515L116.308 233.937C117.887 250.346 122.743 265.986 130.485 280.082C142.342 268.212 127.963 264.678 127.963 264.678C127.963 264.678 121.879 248.747 130.809 250.784C139.745 252.821 142.066 243.19 143.623 241.382L144.008 253.347C144.008 253.347 152.648 249.159 150.408 257.603C148.169 266.047 139.84 258.561 140.541 265.77C141.249 272.98 150.226 277.883 150.226 277.883L144.669 289.443C144.669 289.443 144.568 294.084 144.601 298.663C141.088 299.513 137.742 300.16 134.539 300.646C115.708 278.376 107.756 253.853 107.756 222.404C107.763 151.796 165.01 94.5488 235.625 94.5488C286.1 94.5488 329.737 123.8 350.53 166.269L345.155 167.895L340.96 165.217H340.953Z",fill:"white"}),Gn.createElement("path",{d:"M172.045 324.885C188.272 336.269 201.781 339.122 221.346 341.442L222.196 349.569C197.889 347.027 180.731 341.935 162.42 327.717C164.14 327.252 165.894 326.753 167.694 326.213C169.144 325.782 170.601 325.337 172.051 324.885H172.045Z",fill:"white"}),Gn.createElement("path",{d:"M105.683 261.211C106.345 260.393 107.125 260.048 107.889 260.048C110.301 260.048 112.561 263.455 110.494 266.022C104.537 273.417 100.021 282.152 102.4 291.866C104.047 298.594 108.858 303.486 114.881 306.618C121.549 310.089 128.814 311.424 136.177 311.424C140.956 311.424 145.773 310.859 150.493 309.955C152.969 309.481 155.423 308.916 157.828 308.286C159.389 307.877 160.928 307.441 162.446 306.989C175.47 303.098 188.269 298.238 201.126 293.831C201.53 293.691 201.907 293.631 202.262 293.631C205.566 293.631 206.659 299.116 202.934 300.391C190.077 304.799 177.279 309.653 164.255 313.55C164.141 313.582 164.028 313.615 163.915 313.647C161.456 314.379 158.953 315.062 156.429 315.665C150.025 317.199 143.448 318.232 136.893 318.232C135.806 318.232 134.718 318.205 133.637 318.146C118.196 317.307 100.263 310.558 95.9416 294.051C92.7017 281.683 98.0728 270.672 105.688 261.211H105.683Z",fill:"white"})),Af={POINTSPATH:{renderLabels:!0,hideOwnOtaLabels:!0,renderSecondaryCTAs:!0,renderAlternativeOffers:!0,customization:{labelSVG:Gn.createElement(({width:e="38",height:t="38",viewBox:n="100 100 240 240",fill:a="none",style:r={}})=>Gn.createElement("svg",{width:e,height:t,viewBox:n,fill:a,style:r,xmlns:"http://www.w3.org/2000/svg"},Gn.createElement("g",{"clip-path":"url(#clip0_539_68)"},Gn.createElement("g",{"clip-path":"url(#clip1_539_68)"},Gn.createElement("path",{d:"M192.406 142.647C190.81 142.738 189.815 142.976 189.445 143.35C188.98 143.823 188.466 144.017 188.248 143.795C188.137 143.684 188.091 143.461 188.116 143.174C188.194 142.236 189.21 141.343 189.403 141.174L191.814 140.862L191.477 140.627C191.477 140.627 191.806 140.315 192.229 139.854L194.327 142.61C193.916 142.606 193.18 142.602 192.402 142.647H192.406Z",fill:"#11265A"}),Gn.createElement("path",{d:"M192.336 139.764C193.076 138.95 194.031 137.707 193.944 136.741C193.747 134.565 198.185 134.133 198.23 134.129L198.592 134.096L198.321 133.853C198.124 133.676 197.827 133.31 197.877 133.092C197.897 132.993 198.004 132.915 198.189 132.862C199.057 132.611 199.896 131.471 200.193 131.031L201.381 132.302L203.619 131.755L203.648 131.726C203.648 131.726 204.635 130.789 205.376 130.044C205.569 129.851 205.914 129.74 206.4 129.711C207.181 129.666 208.07 129.859 208.259 129.904L210.258 131.685L210.188 133.36H210.349C210.871 133.372 212.397 133.532 212.541 134.137C212.689 134.758 212.43 136.506 212.488 137.613L206.577 140.57L204.392 141.665L201.147 140.159L201.069 140.241C200.826 140.492 200.283 140.653 199.493 140.698C197.49 140.813 194.524 140.192 194.495 140.188L192.336 139.776V139.764Z",fill:"#11265A"}),Gn.createElement("path",{d:"M199.575 141.939C199.587 141.865 199.624 141.758 199.805 141.668C200.031 141.557 200.406 141.487 200.924 141.458C202.039 141.396 203.413 141.549 203.425 141.549L204.371 141.656L197.773 144.959L197.633 145.029C196.765 144.745 195.992 144.403 195.725 144.276C195.782 143.885 195.897 143.519 195.98 143.47C195.98 143.478 196.05 143.523 196.161 143.762C196.333 144.132 196.737 144.3 197.354 144.263C198.53 144.198 200.155 143.412 200.221 143.379L200.426 143.28L200.262 143.124C200.052 142.922 199.517 142.318 199.575 141.935V141.939Z",fill:"#11265A"}),Gn.createElement("path",{d:"M190.687 251.605C188.971 251.605 188.014 249.406 189.394 248.161L205.231 237.516L191.209 223.62L194.736 221.857L211.538 231.81L233.001 218.429L241.768 212.964L233.634 204.905L231.447 202.738L207.856 179.357L216.307 175.125L238.47 189.246L244.552 193.121L259.91 202.908L294.201 192.532C298.954 192.532 301.588 198.736 297.602 202.101L269.428 222.442L267.439 241.525L263.975 274.725L255.525 278.952L253.769 262.08L253.109 255.733L252.033 245.412L250.523 230.896L243.128 233.759L217.358 243.732L214.638 263.432L211.111 265.196L209.604 250.711L209.043 245.333L191.102 251.577C190.964 251.605 190.825 251.617 190.695 251.617L190.687 251.605Z",fill:"#11265A"}),Gn.createElement("path",{d:"M284.822 156.443C280.759 148.96 275.605 142.043 269.446 135.938L268.673 135.175L274.297 147.023C275.1 148.361 275.694 149.669 276.14 150.918L271.71 148.093L243.936 130.398L230.764 122.003L226.176 124.303C226.964 123.064 227.801 121.666 227.613 121.339L233.718 120.026L233.465 119.778C233.465 119.778 231.661 117.975 232.444 116.642C232.662 116.27 233.321 116.042 234.352 115.983C235.616 115.908 237.147 116.112 237.95 116.235L239.813 116.528L238.044 115.874C227.122 111.82 215.646 110.002 203.921 110.472C203.317 110.562 202.925 110.68 202.702 110.839C201.617 111.607 199.655 114.62 199.466 114.912C199.204 115.165 187.202 125.492 184.189 125.66C183.778 125.685 183.391 125.646 183.039 125.546L182.415 122.281L182.237 122.301C182.237 122.301 180.993 122.454 180.126 122.504C179.516 122.539 187.811 115.557 187.792 115.547C187.737 115.492 187.579 115.016 187.484 114.546L187.45 114.367L187.271 114.397C187.271 114.397 185.542 114.67 184.799 114.719C185.041 114.417 185.567 113.872 186.364 113.312L187.197 112.727L186.211 112.97C179.125 114.719 172.267 117.36 165.835 120.809L165.785 120.834L165.265 121.746L164.982 123.074L161.528 124.987L162.509 126.106L158.724 129.332L157.311 129.159L155.24 131.072L152.891 131.349L153.094 131.612C153.496 132.142 154.071 133.128 153.887 133.525C153.867 133.569 153.778 133.718 153.387 133.713C151.608 133.688 147.039 138.262 146.846 138.455L146.514 138.792L150.577 138.693L145.602 147.231L143.545 147.092L142.634 149.208L142.198 148.45L140.751 148.534L140.627 146.364L143.312 140.13L141.345 140.244L141.291 140.303C137.45 144.674 134.026 149.441 131.117 154.481L131.43 154.694L136.355 148.633C136.489 148.584 136.925 148.425 137.401 148.401C138.367 148.346 138.863 148.817 138.922 149.847C138.932 150.056 141.102 150.105 142.827 150.15C141.618 149.907 140.448 149.585 140.592 149.218L143.04 150.155C144.061 150.179 144.878 150.209 144.903 150.274C144.958 150.417 145.027 150.497 145.096 150.541C144.745 150.482 144.006 150.373 143.228 150.229L147.956 152.033L152.544 156.2L165.963 158.262L160.389 163.613C160.399 163.698 161.29 171.007 159.576 175.808C157.936 180.397 147.004 185.6 147.113 186.185C146.88 186.69 139.205 190.893 137.634 191.666C135.969 192.483 136.494 194.951 136.667 195.6C135.889 196.021 132.188 198.132 131.167 200.769C130.954 201.319 130.701 201.606 130.424 201.621C129.755 201.66 128.818 200.209 128.387 199.282L128.333 199.163L126.008 199.297L123.229 196.69L121.261 199.386L119.368 199.693V200.01L119.77 206.933C120.929 218.989 124.497 230.481 130.186 240.837C138.897 232.116 128.333 229.519 128.333 229.519C128.333 229.519 123.863 217.815 130.424 219.311C136.989 220.808 138.694 213.732 139.839 212.404L140.121 221.194C140.121 221.194 146.469 218.117 144.824 224.321C143.179 230.525 137.059 225.025 137.574 230.322C138.095 235.619 144.69 239.222 144.69 239.222L140.607 247.715C140.607 247.715 140.533 251.125 140.557 254.489C137.976 255.114 135.518 255.589 133.164 255.946C119.329 239.584 113.486 221.566 113.486 198.459C113.491 146.582 155.552 104.521 207.435 104.521C244.52 104.521 276.581 126.012 291.859 157.216L287.909 158.41L284.827 156.443H284.822Z",fill:"#11265A"}),Gn.createElement("path",{d:"M160.722 273.756C172.644 282.121 182.57 284.217 196.945 285.922L197.57 291.893C179.711 290.025 167.104 286.283 153.65 275.838C154.914 275.496 156.202 275.129 157.525 274.733C158.591 274.415 159.661 274.088 160.727 273.756H160.722Z",fill:"#11265A"}),Gn.createElement("path",{d:"M111.967 226.973C112.454 226.372 113.027 226.119 113.589 226.119C115.36 226.119 117.021 228.622 115.502 230.508C111.125 235.941 107.808 242.359 109.555 249.496C110.765 254.439 114.3 258.033 118.725 260.335C123.625 262.885 128.963 263.866 134.372 263.866C137.884 263.866 141.423 263.451 144.891 262.786C146.709 262.438 148.513 262.023 150.28 261.561C151.427 261.26 152.558 260.94 153.673 260.608C163.242 257.749 172.645 254.178 182.092 250.94C182.389 250.837 182.666 250.793 182.927 250.793C185.354 250.793 186.157 254.823 183.421 255.76C173.974 258.998 164.571 262.565 155.002 265.428C154.919 265.452 154.835 265.475 154.752 265.499C152.945 266.037 151.107 266.539 149.252 266.982C144.547 268.109 139.714 268.868 134.898 268.868C134.099 268.868 133.301 268.848 132.506 268.805C121.161 268.188 107.985 263.229 104.81 251.102C102.43 242.015 106.376 233.924 111.971 226.973H111.967Z",fill:"#11265A"}))),Gn.createElement("defs",null,Gn.createElement("clipPath",{id:"clip0_539_68"},Gn.createElement("rect",{width:"400",height:"400",fill:"white"})),Gn.createElement("clipPath",{id:"clip1_539_68"},Gn.createElement("rect",{width:"199.111",height:"199.111",fill:"white",transform:"translate(100.443 100.444)"})))),null),labelCSSDefinition:"",getSecondaryCtaSvg:()=>Gn.createElement(Lf,null),mainColorHex:"#11265A"}}};var Pf=function(e,t,n,a){return new(n||(n=Promise))(function(r,o){function i(e){try{c(a.next(e))}catch(e){o(e)}}function s(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}c((a=a.apply(e,t||[])).next())})};function If(){return Pf(this,void 0,void 0,function*(){const{partnerKey:e}=yield Et.getConfig();if(!e)throw new Error("partnerKey is required to initialize AdUnit content");const t=function(e){var t;return null!==(t=Af[e])&&void 0!==t?t:{}}(e);return Of({platformContentConfig:t,frontNavigationFactoryConfig:{useRedirectEngine:!1}})})}})(),module.exports=a})();
2
+ (()=>{var e={12:(e,t)=>{var o;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];o&&(e=i(e,r(o)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return a.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var o in e)n.call(e,o)&&e[o]&&(t=i(t,o));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(a.default=a,e.exports=a):void 0===(o=function(){return a}.apply(t,[]))||(e.exports=o)}()},113:(e,t)=>{"use strict";function o(e,t){var o=e.length;e.push(t);e:for(;0<o;){var n=o-1>>>1,a=e[n];if(!(0<r(a,t)))break e;e[n]=t,e[o]=a,o=n}}function n(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],o=e.pop();if(o!==t){e[0]=o;e:for(var n=0,a=e.length,i=a>>>1;n<i;){var s=2*(n+1)-1,c=e[s],l=s+1,u=e[l];if(0>r(c,o))l<a&&0>r(u,c)?(e[n]=u,e[l]=o,n=l):(e[n]=c,e[s]=o,n=s);else{if(!(l<a&&0>r(u,o)))break e;e[n]=u,e[l]=o,n=l}}}return t}function r(e,t){var o=e.sortIndex-t.sortIndex;return 0!==o?o:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],m=1,p=null,d=3,h=!1,f=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function v(e){for(var t=n(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,o(l,t)}t=n(u)}}function w(e){if(g=!1,v(e),!f)if(null!==n(l))f=!0,I(x);else{var t=n(u);null!==t&&D(w,t.startTime-e)}}function x(e,o){f=!1,g&&(g=!1,y(z),z=-1),h=!0;var r=d;try{for(v(o),p=n(l);null!==p&&(!(p.expirationTime>o)||e&&!O());){var i=p.callback;if("function"==typeof i){p.callback=null,d=p.priorityLevel;var s=i(p.expirationTime<=o);o=t.unstable_now(),"function"==typeof s?p.callback=s:p===n(l)&&a(l),v(o)}else a(l);p=n(l)}if(null!==p)var c=!0;else{var m=n(u);null!==m&&D(w,m.startTime-o),c=!1}return c}finally{p=null,d=r,h=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j,_=!1,C=null,z=-1,S=5,E=-1;function O(){return!(t.unstable_now()-E<S)}function A(){if(null!==C){var e=t.unstable_now();E=e;var o=!0;try{o=C(!0,e)}finally{o?j():(_=!1,C=null)}}else _=!1}if("function"==typeof k)j=function(){k(A)};else if("undefined"!=typeof MessageChannel){var L=new MessageChannel,P=L.port2;L.port1.onmessage=A,j=function(){P.postMessage(null)}}else j=function(){b(A,0)};function I(e){C=e,_||(_=!0,j())}function D(e,o){z=b(function(){e(t.unstable_now())},o)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){f||h||(f=!0,I(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):S=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return d},t.unstable_getFirstCallbackNode=function(){return n(l)},t.unstable_next=function(e){switch(d){case 1:case 2:case 3:var t=3;break;default:t=d}var o=d;d=t;try{return e()}finally{d=o}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var o=d;d=e;try{return t()}finally{d=o}},t.unstable_scheduleCallback=function(e,a,r){var i=t.unstable_now();switch(r="object"==typeof r&&null!==r&&"number"==typeof(r=r.delay)&&0<r?i+r:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:m++,callback:a,priorityLevel:e,startTime:r,expirationTime:s=r+s,sortIndex:-1},r>i?(e.sortIndex=r,o(u,e),null===n(l)&&e===n(u)&&(g?(y(z),z=-1):g=!0,D(w,r-i))):(e.sortIndex=s,o(l,e),f||h||(f=!0,I(x))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=d;return function(){var o=d;d=t;try{return e.apply(this,arguments)}finally{d=o}}}},218:(e,t,o)=>{"use strict";var n=o(258),a=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,o){var n,r={},l=null,u=null;for(n in void 0!==o&&(l=""+o),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,n)&&!c.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===r[n]&&(r[n]=t[n]);return{$$typeof:a,type:e,key:l,ref:u,props:r,_owner:s.current}}t.Fragment=r,t.jsx=l,t.jsxs=l},258:(e,t,o)=>{"use strict";e.exports=o(973)},340:e=>{"use strict";var t,o="object"==typeof Reflect?Reflect:null,n=o&&"function"==typeof o.apply?o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};t=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function r(){r.init.call(this)}e.exports=r,e.exports.once=function(e,t){return new Promise(function(o,n){function a(o){e.removeListener(t,r),n(o)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",a),o([].slice.call(arguments))}f(e,t,r,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,a)})},r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var i=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?r.defaultMaxListeners:e._maxListeners}function l(e,t,o,n){var a,r,i,l;if(s(o),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),r=e._events),i=r[t]),void 0===i)i=r[t]=o,++e._eventsCount;else if("function"==typeof i?i=r[t]=n?[o,i]:[i,o]:n?i.unshift(o):i.push(o),(a=c(e))>0&&i.length>a&&!i.warned){i.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=i.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},a=u.bind(n);return a.listener=o,n.wrapFn=a,a}function p(e,t,o){var n=e._events;if(void 0===n)return[];var a=n[t];return void 0===a?[]:"function"==typeof a?o?[a.listener||a]:[a]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(a):h(a,a.length)}function d(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function h(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}function f(e,t,o,n){if("function"==typeof e.on)n.once?e.once(t,o):e.on(t,o);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function a(r){n.once&&e.removeEventListener(t,a),o(r)})}}Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),r.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},r.prototype.getMaxListeners=function(){return c(this)},r.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var a="error"===e,r=this._events;if(void 0!==r)a=a&&void 0===r.error;else if(!a)return!1;if(a){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var c=r[e];if(void 0===c)return!1;if("function"==typeof c)n(c,this,t);else{var l=c.length,u=h(c,l);for(o=0;o<l;++o)n(u[o],this,t)}return!0},r.prototype.addListener=function(e,t){return l(this,e,t,!1)},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(e,t){return l(this,e,t,!0)},r.prototype.once=function(e,t){return s(t),this.on(e,m(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,m(this,e,t)),this},r.prototype.removeListener=function(e,t){var o,n,a,r,i;if(s(t),void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(a=-1,r=o.length-1;r>=0;r--)if(o[r]===t||o[r].listener===t){i=o[r].listener,a=r;break}if(a<0)return this;0===a?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,a),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,i||t)}return this},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var a,r=Object.keys(o);for(n=0;n<r.length;++n)"removeListener"!==(a=r[n])&&this.removeAllListeners(a);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},r.prototype.listeners=function(e){return p(this,e,!0)},r.prototype.rawListeners=function(e){return p(this,e,!1)},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},r.prototype.listenerCount=d,r.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},413:(e,t,o)=>{"use strict";e.exports=o(594)},420:(e,t,o)=>{"use strict";var n=o(467);t.H=n.createRoot,n.hydrateRoot},467:(e,t,o)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=o(821)},594:(e,t,o)=>{"use strict";var n=o(258),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=n.useState,i=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var o=t();return!a(e,o)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var o=t(),n=r({inst:{value:o,getSnapshot:t}}),a=n[0].inst,u=n[1];return s(function(){a.value=o,a.getSnapshot=t,l(a)&&u({inst:a})},[e,o,t]),i(function(){return l(a)&&u({inst:a}),e(function(){l(a)&&u({inst:a})})},[e]),c(o),o};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},746:(e,t,o)=>{"use strict";e.exports=o(218)},821:(e,t,o)=>{"use strict";var n=o(258),a=o(860);function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o<arguments.length;o++)t+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),m=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},h={};function f(e,t,o,n,a,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=o,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){g[e]=new f(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];g[t]=new f(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new f(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new f(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){g[e]=new f(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new f(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new f(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new f(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new f(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function k(e,t,o,n){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0!==a.type:n||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,o,n){if(null==t||function(e,t,o,n){if(null!==o&&0===o.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==o?!o.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,o,n))return!0;if(n)return!1;if(null!==o)switch(o.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,o,a,n)&&(o=null),n||null===a?function(e){return!!m.call(h,e)||!m.call(d,e)&&(p.test(e)?h[e]=!0:(d[e]=!0,!1))}(t)&&(null===o?e.removeAttribute(t):e.setAttribute(t,""+o)):a.mustUseProperty?e[a.propertyName]=null===o?3!==a.type&&"":o:(t=a.attributeName,n=a.attributeNamespace,null===o?e.removeAttribute(t):(o=3===(a=a.type)||4===a&&!0===o?"":""+o,n?e.setAttributeNS(n,t,o):e.setAttribute(t,o))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(b,y);g[t]=new f(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!1,!1)}),g.xlinkHref=new f("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!0,!0)});var v=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),x=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),z=Symbol.for("react.provider"),S=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),L=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var I=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var D=Symbol.iterator;function N(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=D&&e[D]||e["@@iterator"])?e:null}var T,R=Object.assign;function M(e){if(void 0===T)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);T=t&&t[1]||""}return"\n"+T+e}var $=!1;function B(e,t){if(!e||$)return"";$=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var n=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){n=e}e.call(t.prototype)}else{try{throw Error()}catch(e){n=e}e()}}catch(t){if(t&&n&&"string"==typeof t.stack){for(var a=t.stack.split("\n"),r=n.stack.split("\n"),i=a.length-1,s=r.length-1;1<=i&&0<=s&&a[i]!==r[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==r[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==r[s]){var c="\n"+a[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=s);break}}}finally{$=!1,Error.prepareStackTrace=o}return(e=e?e.displayName||e.name:"")?M(e):""}function U(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return B(e.type,!1);case 11:return B(e.type.render,!1);case 1:return B(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case j:return"Fragment";case x:return"Portal";case C:return"Profiler";case _:return"StrictMode";case O:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case S:return(e.displayName||"Context")+".Consumer";case z:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case L:return null!==(t=e.displayName||null)?t:V(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return V(e(t))}catch(e){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return V(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function F(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==o&&"function"==typeof o.get&&"function"==typeof o.set){var a=o.get,r=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){n=""+e,r.call(this,e)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var o=t.getValue(),n="";return e&&(n=H(e)?e.checked?"true":"false":e.value),(e=n)!==o&&(t.setValue(e),!0)}function Y(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var o=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=o?o:e._wrapperState.initialChecked})}function W(e,t){var o=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;o=F(null!=t.value?t.value:o),e._wrapperState={initialChecked:n,initialValue:o,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&k(e,"checked",t,!1)}function Z(e,t){J(e,t);var o=F(t.value),n=t.type;if(null!=o)"number"===n?(0===o&&""===e.value||e.value!=o)&&(e.value=""+o):e.value!==""+o&&(e.value=""+o);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,o):t.hasOwnProperty("defaultValue")&&ee(e,t.type,F(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function X(e,t,o){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,o||t===e.value||(e.value=t),e.defaultValue=t}""!==(o=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==o&&(e.name=o)}function ee(e,t,o){"number"===t&&Y(e.ownerDocument)===e||(null==o?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+o&&(e.defaultValue=""+o))}var te=Array.isArray;function oe(e,t,o,n){if(e=e.options,t){t={};for(var a=0;a<o.length;a++)t["$"+o[a]]=!0;for(o=0;o<e.length;o++)a=t.hasOwnProperty("$"+e[o].value),e[o].selected!==a&&(e[o].selected=a),a&&n&&(e[o].defaultSelected=!0)}else{for(o=""+F(o),t=null,a=0;a<e.length;a++){if(e[a].value===o)return e[a].selected=!0,void(n&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function ne(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(r(91));return R({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var o=t.value;if(null==o){if(o=t.children,t=t.defaultValue,null!=o){if(null!=t)throw Error(r(92));if(te(o)){if(1<o.length)throw Error(r(93));o=o[0]}t=o}null==t&&(t=""),o=t}e._wrapperState={initialValue:F(o)}}function re(e,t){var o=F(t.value),n=F(t.defaultValue);null!=o&&((o=""+o)!==e.value&&(e.value=o),null==t.defaultValue&&e.defaultValue!==o&&(e.defaultValue=o)),null!=n&&(e.defaultValue=""+n)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,me=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,o,n){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function pe(e,t){if(t){var o=e.firstChild;if(o&&o===e.lastChild&&3===o.nodeType)return void(o.nodeValue=t)}e.textContent=t}var de={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},he=["Webkit","ms","Moz","O"];function fe(e,t,o){return null==t||"boolean"==typeof t||""===t?"":o||"number"!=typeof t||0===t||de.hasOwnProperty(e)&&de[e]?(""+t).trim():t+"px"}function ge(e,t){for(var o in e=e.style,t)if(t.hasOwnProperty(o)){var n=0===o.indexOf("--"),a=fe(o,t[o],n);"float"===o&&(o="cssFloat"),n?e.setProperty(o,a):e[o]=a}}Object.keys(de).forEach(function(e){he.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),de[t]=de[e]})});var be=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(r(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(r(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(r(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(r(62))}}function ke(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ve=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,je=null,_e=null;function Ce(e){if(e=va(e)){if("function"!=typeof xe)throw Error(r(280));var t=e.stateNode;t&&(t=xa(t),xe(e.stateNode,e.type,t))}}function ze(e){je?_e?_e.push(e):_e=[e]:je=e}function Se(){if(je){var e=je,t=_e;if(_e=je=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Oe(){}var Ae=!1;function Le(e,t,o){if(Ae)return e(t,o);Ae=!0;try{return Ee(e,t,o)}finally{Ae=!1,(null!==je||null!==_e)&&(Oe(),Se())}}function Pe(e,t){var o=e.stateNode;if(null===o)return null;var n=xa(o);if(null===n)return null;o=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(o&&"function"!=typeof o)throw Error(r(231,t,typeof o));return o}var Ie=!1;if(u)try{var De={};Object.defineProperty(De,"passive",{get:function(){Ie=!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch(ue){Ie=!1}function Ne(e,t,o,n,a,r,i,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(o,l)}catch(e){this.onError(e)}}var Te=!1,Re=null,Me=!1,$e=null,Be={onError:function(e){Te=!0,Re=e}};function Ue(e,t,o,n,a,r,i,s,c){Te=!1,Re=null,Ne.apply(Be,arguments)}function Ve(e){var t=e,o=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(o=t.return),e=t.return}while(e)}return 3===t.tag?o:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Fe(e){if(Ve(e)!==e)throw Error(r(188))}function He(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ve(e)))throw Error(r(188));return t!==e?null:e}for(var o=e,n=t;;){var a=o.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(n=a.return)){o=n;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===o)return Fe(a),e;if(i===n)return Fe(a),t;i=i.sibling}throw Error(r(188))}if(o.return!==n.return)o=a,n=i;else{for(var s=!1,c=a.child;c;){if(c===o){s=!0,o=a,n=i;break}if(c===n){s=!0,n=a,o=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===o){s=!0,o=i,n=a;break}if(c===n){s=!0,n=i,o=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(o.alternate!==n)throw Error(r(190))}if(3!==o.tag)throw Error(r(188));return o.stateNode.current===o?e:t}(e))?Ke(e):null}function Ke(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ke(e);if(null!==t)return t;e=e.sibling}return null}var Ge=a.unstable_scheduleCallback,Ye=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,We=a.unstable_requestPaint,Je=a.unstable_now,Ze=a.unstable_getCurrentPriorityLevel,Xe=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,ot=a.unstable_LowPriority,nt=a.unstable_IdlePriority,at=null,rt=null,it=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2,lt=64,ut=4194304;function mt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var o=e.pendingLanes;if(0===o)return 0;var n=0,a=e.suspendedLanes,r=e.pingedLanes,i=268435455&o;if(0!==i){var s=i&~a;0!==s?n=mt(s):0!==(r&=i)&&(n=mt(r))}else 0!==(i=o&~a)?n=mt(i):0!==r&&(n=mt(r));if(0===n)return 0;if(0!==t&&t!==n&&0===(t&a)&&((a=n&-n)>=(r=t&-t)||16===a&&4194240&r))return t;if(4&n&&(n|=16&o),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)a=1<<(o=31-it(t)),n|=e[o],t&=~a;return n}function dt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ht(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ft(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function gt(e){for(var t=[],o=0;31>o;o++)t.push(e);return t}function bt(e,t,o){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=o}function yt(e,t){var o=e.entangledLanes|=t;for(e=e.entanglements;o;){var n=31-it(o),a=1<<n;a&t|e[n]&t&&(e[n]|=t),o&=~a}}var kt=0;function vt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,xt,jt,_t,Ct,zt=!1,St=[],Et=null,Ot=null,At=null,Lt=new Map,Pt=new Map,It=[],Dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Nt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Lt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Tt(e,t,o,n,a,r){return null===e||e.nativeEvent!==r?(e={blockedOn:t,domEventName:o,eventSystemFlags:n,nativeEvent:r,targetContainers:[a]},null!==t&&null!==(t=va(t))&&xt(t),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Rt(e){var t=ka(e.target);if(null!==t){var o=Ve(t);if(null!==o)if(13===(t=o.tag)){if(null!==(t=qe(o)))return e.blockedOn=t,void Ct(e.priority,function(){jt(o)})}else if(3===t&&o.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===o.tag?o.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var o=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==o)return null!==(t=va(o))&&xt(t),e.blockedOn=o,!1;var n=new(o=e.nativeEvent).constructor(o.type,o);ve=n,o.target.dispatchEvent(n),ve=null,t.shift()}return!0}function $t(e,t,o){Mt(e)&&o.delete(t)}function Bt(){zt=!1,null!==Et&&Mt(Et)&&(Et=null),null!==Ot&&Mt(Ot)&&(Ot=null),null!==At&&Mt(At)&&(At=null),Lt.forEach($t),Pt.forEach($t)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,zt||(zt=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Vt(e){function t(t){return Ut(t,e)}if(0<St.length){Ut(St[0],e);for(var o=1;o<St.length;o++){var n=St[o];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==Et&&Ut(Et,e),null!==Ot&&Ut(Ot,e),null!==At&&Ut(At,e),Lt.forEach(t),Pt.forEach(t),o=0;o<It.length;o++)(n=It[o]).blockedOn===e&&(n.blockedOn=null);for(;0<It.length&&null===(o=It[0]).blockedOn;)Rt(o),null===o.blockedOn&&It.shift()}var qt=v.ReactCurrentBatchConfig,Ft=!0;function Ht(e,t,o,n){var a=kt,r=qt.transition;qt.transition=null;try{kt=1,Gt(e,t,o,n)}finally{kt=a,qt.transition=r}}function Kt(e,t,o,n){var a=kt,r=qt.transition;qt.transition=null;try{kt=4,Gt(e,t,o,n)}finally{kt=a,qt.transition=r}}function Gt(e,t,o,n){if(Ft){var a=Qt(e,t,o,n);if(null===a)Hn(e,t,n,Yt,o),Nt(e,n);else if(function(e,t,o,n,a){switch(t){case"focusin":return Et=Tt(Et,e,t,o,n,a),!0;case"dragenter":return Ot=Tt(Ot,e,t,o,n,a),!0;case"mouseover":return At=Tt(At,e,t,o,n,a),!0;case"pointerover":var r=a.pointerId;return Lt.set(r,Tt(Lt.get(r)||null,e,t,o,n,a)),!0;case"gotpointercapture":return r=a.pointerId,Pt.set(r,Tt(Pt.get(r)||null,e,t,o,n,a)),!0}return!1}(a,e,t,o,n))n.stopPropagation();else if(Nt(e,n),4&t&&-1<Dt.indexOf(e)){for(;null!==a;){var r=va(a);if(null!==r&&wt(r),null===(r=Qt(e,t,o,n))&&Hn(e,t,n,Yt,o),r===a)break;a=r}null!==a&&n.stopPropagation()}else Hn(e,t,n,null,o)}}var Yt=null;function Qt(e,t,o,n){if(Yt=null,null!==(e=ka(e=we(n))))if(null===(t=Ve(e)))e=null;else if(13===(o=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===o){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function Wt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ze()){case Xe:return 1;case et:return 4;case tt:case ot:return 16;case nt:return 536870912;default:return 16}default:return 16}}var Jt=null,Zt=null,Xt=null;function eo(){if(Xt)return Xt;var e,t,o=Zt,n=o.length,a="value"in Jt?Jt.value:Jt.textContent,r=a.length;for(e=0;e<n&&o[e]===a[e];e++);var i=n-e;for(t=1;t<=i&&o[n-t]===a[r-t];t++);return Xt=a.slice(e,1<t?1-t:void 0)}function to(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function oo(){return!0}function no(){return!1}function ao(e){function t(t,o,n,a,r){for(var i in this._reactName=t,this._targetInst=n,this.type=o,this.nativeEvent=a,this.target=r,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?oo:no,this.isPropagationStopped=no,this}return R(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=oo)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=oo)},persist:function(){},isPersistent:oo}),t}var ro,io,so,co={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},lo=ao(co),uo=R({},co,{view:0,detail:0}),mo=ao(uo),po=R({},uo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Co,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==so&&(so&&"mousemove"===e.type?(ro=e.screenX-so.screenX,io=e.screenY-so.screenY):io=ro=0,so=e),ro)},movementY:function(e){return"movementY"in e?e.movementY:io}}),ho=ao(po),fo=ao(R({},po,{dataTransfer:0})),go=ao(R({},uo,{relatedTarget:0})),bo=ao(R({},co,{animationName:0,elapsedTime:0,pseudoElement:0})),yo=R({},co,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ko=ao(yo),vo=ao(R({},co,{data:0})),wo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xo={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},jo={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _o(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=jo[e])&&!!t[e]}function Co(){return _o}var zo=R({},uo,{key:function(e){if(e.key){var t=wo[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=to(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xo[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Co,charCode:function(e){return"keypress"===e.type?to(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?to(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),So=ao(zo),Eo=ao(R({},po,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Oo=ao(R({},uo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Co})),Ao=ao(R({},co,{propertyName:0,elapsedTime:0,pseudoElement:0})),Lo=R({},po,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Po=ao(Lo),Io=[9,13,27,32],Do=u&&"CompositionEvent"in window,No=null;u&&"documentMode"in document&&(No=document.documentMode);var To=u&&"TextEvent"in window&&!No,Ro=u&&(!Do||No&&8<No&&11>=No),Mo=String.fromCharCode(32),$o=!1;function Bo(e,t){switch(e){case"keyup":return-1!==Io.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Uo(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Vo=!1,qo={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qo[e.type]:"textarea"===t}function Ho(e,t,o,n){ze(n),0<(t=Gn(t,"onChange")).length&&(o=new lo("onChange","change",null,o,n),e.push({event:o,listeners:t}))}var Ko=null,Go=null;function Yo(e){$n(e,0)}function Qo(e){if(G(wa(e)))return e}function Wo(e,t){if("change"===e)return t}var Jo=!1;if(u){var Zo;if(u){var Xo="oninput"in document;if(!Xo){var en=document.createElement("div");en.setAttribute("oninput","return;"),Xo="function"==typeof en.oninput}Zo=Xo}else Zo=!1;Jo=Zo&&(!document.documentMode||9<document.documentMode)}function tn(){Ko&&(Ko.detachEvent("onpropertychange",on),Go=Ko=null)}function on(e){if("value"===e.propertyName&&Qo(Go)){var t=[];Ho(t,Go,e,we(e)),Le(Yo,t)}}function nn(e,t,o){"focusin"===e?(tn(),Go=o,(Ko=t).attachEvent("onpropertychange",on)):"focusout"===e&&tn()}function an(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qo(Go)}function rn(e,t){if("click"===e)return Qo(t)}function sn(e,t){if("input"===e||"change"===e)return Qo(t)}var cn="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ln(e,t){if(cn(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;for(n=0;n<o.length;n++){var a=o[n];if(!m.call(t,a)||!cn(e[a],t[a]))return!1}return!0}function un(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function mn(e,t){var o,n=un(e);for(e=0;n;){if(3===n.nodeType){if(o=e+n.textContent.length,e<=t&&o>=t)return{node:n,offset:t-e};e=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=un(n)}}function pn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function dn(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var o="string"==typeof t.contentWindow.location.href}catch(e){o=!1}if(!o)break;t=Y((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fn(e){var t=dn(),o=e.focusedElem,n=e.selectionRange;if(t!==o&&o&&o.ownerDocument&&pn(o.ownerDocument.documentElement,o)){if(null!==n&&hn(o))if(t=n.start,void 0===(e=n.end)&&(e=t),"selectionStart"in o)o.selectionStart=t,o.selectionEnd=Math.min(e,o.value.length);else if((e=(t=o.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=o.textContent.length,r=Math.min(n.start,a);n=void 0===n.end?r:Math.min(n.end,a),!e.extend&&r>n&&(a=n,n=r,r=a),a=mn(o,r);var i=mn(o,n);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),r>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=o;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof o.focus&&o.focus(),o=0;o<t.length;o++)(e=t[o]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gn=u&&"documentMode"in document&&11>=document.documentMode,bn=null,yn=null,kn=null,vn=!1;function wn(e,t,o){var n=o.window===o?o.document:9===o.nodeType?o:o.ownerDocument;vn||null==bn||bn!==Y(n)||(n="selectionStart"in(n=bn)&&hn(n)?{start:n.selectionStart,end:n.selectionEnd}:{anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},kn&&ln(kn,n)||(kn=n,0<(n=Gn(yn,"onSelect")).length&&(t=new lo("onSelect","select",null,t,o),e.push({event:t,listeners:n}),t.target=bn)))}function xn(e,t){var o={};return o[e.toLowerCase()]=t.toLowerCase(),o["Webkit"+e]="webkit"+t,o["Moz"+e]="moz"+t,o}var jn={animationend:xn("Animation","AnimationEnd"),animationiteration:xn("Animation","AnimationIteration"),animationstart:xn("Animation","AnimationStart"),transitionend:xn("Transition","TransitionEnd")},_n={},Cn={};function zn(e){if(_n[e])return _n[e];if(!jn[e])return e;var t,o=jn[e];for(t in o)if(o.hasOwnProperty(t)&&t in Cn)return _n[e]=o[t];return e}u&&(Cn=document.createElement("div").style,"AnimationEvent"in window||(delete jn.animationend.animation,delete jn.animationiteration.animation,delete jn.animationstart.animation),"TransitionEvent"in window||delete jn.transitionend.transition);var Sn=zn("animationend"),En=zn("animationiteration"),On=zn("animationstart"),An=zn("transitionend"),Ln=new Map,Pn="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function In(e,t){Ln.set(e,t),c(t,[e])}for(var Dn=0;Dn<Pn.length;Dn++){var Nn=Pn[Dn];In(Nn.toLowerCase(),"on"+(Nn[0].toUpperCase()+Nn.slice(1)))}In(Sn,"onAnimationEnd"),In(En,"onAnimationIteration"),In(On,"onAnimationStart"),In("dblclick","onDoubleClick"),In("focusin","onFocus"),In("focusout","onBlur"),In(An,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Tn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Rn=new Set("cancel close invalid load scroll toggle".split(" ").concat(Tn));function Mn(e,t,o){var n=e.type||"unknown-event";e.currentTarget=o,function(e,t,o,n,a,i,s,c,l){if(Ue.apply(this,arguments),Te){if(!Te)throw Error(r(198));var u=Re;Te=!1,Re=null,Me||(Me=!0,$e=u)}}(n,t,void 0,e),e.currentTarget=null}function $n(e,t){t=!!(4&t);for(var o=0;o<e.length;o++){var n=e[o],a=n.event;n=n.listeners;e:{var r=void 0;if(t)for(var i=n.length-1;0<=i;i--){var s=n[i],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==r&&a.isPropagationStopped())break e;Mn(a,s,l),r=c}else for(i=0;i<n.length;i++){if(c=(s=n[i]).instance,l=s.currentTarget,s=s.listener,c!==r&&a.isPropagationStopped())break e;Mn(a,s,l),r=c}}}if(Me)throw e=$e,Me=!1,$e=null,e}function Bn(e,t){var o=t[ga];void 0===o&&(o=t[ga]=new Set);var n=e+"__bubble";o.has(n)||(Fn(t,e,2,!1),o.add(n))}function Un(e,t,o){var n=0;t&&(n|=4),Fn(o,e,n,t)}var Vn="_reactListening"+Math.random().toString(36).slice(2);function qn(e){if(!e[Vn]){e[Vn]=!0,i.forEach(function(t){"selectionchange"!==t&&(Rn.has(t)||Un(t,!1,e),Un(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Vn]||(t[Vn]=!0,Un("selectionchange",!1,t))}}function Fn(e,t,o,n){switch(Wt(t)){case 1:var a=Ht;break;case 4:a=Kt;break;default:a=Gt}o=a.bind(null,t,o,e),a=void 0,!Ie||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),n?void 0!==a?e.addEventListener(t,o,{capture:!0,passive:a}):e.addEventListener(t,o,!0):void 0!==a?e.addEventListener(t,o,{passive:a}):e.addEventListener(t,o,!1)}function Hn(e,t,o,n,a){var r=n;if(!(1&t||2&t||null===n))e:for(;;){if(null===n)return;var i=n.tag;if(3===i||4===i){var s=n.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=n.return;null!==i;){var c=i.tag;if((3===c||4===c)&&((c=i.stateNode.containerInfo)===a||8===c.nodeType&&c.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=ka(s)))return;if(5===(c=i.tag)||6===c){n=r=i;continue e}s=s.parentNode}}n=n.return}Le(function(){var n=r,a=we(o),i=[];e:{var s=Ln.get(e);if(void 0!==s){var c=lo,l=e;switch(e){case"keypress":if(0===to(o))break e;case"keydown":case"keyup":c=So;break;case"focusin":l="focus",c=go;break;case"focusout":l="blur",c=go;break;case"beforeblur":case"afterblur":c=go;break;case"click":if(2===o.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=ho;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=fo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=Oo;break;case Sn:case En:case On:c=bo;break;case An:c=Ao;break;case"scroll":c=mo;break;case"wheel":c=Po;break;case"copy":case"cut":case"paste":c=ko;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=Eo}var u=!!(4&t),m=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var d,h=n;null!==h;){var f=(d=h).stateNode;if(5===d.tag&&null!==f&&(d=f,null!==p&&null!=(f=Pe(h,p))&&u.push(Kn(h,f,d))),m)break;h=h.return}0<u.length&&(s=new c(s,l,null,o,a),i.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||o===ve||!(l=o.relatedTarget||o.fromElement)||!ka(l)&&!l[fa])&&(c||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=n,null!==(l=(l=o.relatedTarget||o.toElement)?ka(l):null)&&(l!==(m=Ve(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=n),c!==l)){if(u=ho,f="onMouseLeave",p="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(u=Eo,f="onPointerLeave",p="onPointerEnter",h="pointer"),m=null==c?s:wa(c),d=null==l?s:wa(l),(s=new u(f,h+"leave",c,o,a)).target=m,s.relatedTarget=d,f=null,ka(a)===n&&((u=new u(p,h+"enter",l,o,a)).target=d,u.relatedTarget=m,f=u),m=f,c&&l)e:{for(p=l,h=0,d=u=c;d;d=Yn(d))h++;for(d=0,f=p;f;f=Yn(f))d++;for(;0<h-d;)u=Yn(u),h--;for(;0<d-h;)p=Yn(p),d--;for(;h--;){if(u===p||null!==p&&u===p.alternate)break e;u=Yn(u),p=Yn(p)}u=null}else u=null;null!==c&&Qn(i,s,c,u,!1),null!==l&&null!==m&&Qn(i,m,l,u,!0)}if("select"===(c=(s=n?wa(n):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var g=Wo;else if(Fo(s))if(Jo)g=sn;else{g=an;var b=nn}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=rn);switch(g&&(g=g(e,n))?Ho(i,g,o,a):(b&&b(e,s,n),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=n?wa(n):window,e){case"focusin":(Fo(b)||"true"===b.contentEditable)&&(bn=b,yn=n,kn=null);break;case"focusout":kn=yn=bn=null;break;case"mousedown":vn=!0;break;case"contextmenu":case"mouseup":case"dragend":vn=!1,wn(i,o,a);break;case"selectionchange":if(gn)break;case"keydown":case"keyup":wn(i,o,a)}var y;if(Do)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Vo?Bo(e,o)&&(k="onCompositionEnd"):"keydown"===e&&229===o.keyCode&&(k="onCompositionStart");k&&(Ro&&"ko"!==o.locale&&(Vo||"onCompositionStart"!==k?"onCompositionEnd"===k&&Vo&&(y=eo()):(Zt="value"in(Jt=a)?Jt.value:Jt.textContent,Vo=!0)),0<(b=Gn(n,k)).length&&(k=new vo(k,e,null,o,a),i.push({event:k,listeners:b}),(y||null!==(y=Uo(o)))&&(k.data=y))),(y=To?function(e,t){switch(e){case"compositionend":return Uo(t);case"keypress":return 32!==t.which?null:($o=!0,Mo);case"textInput":return(e=t.data)===Mo&&$o?null:e;default:return null}}(e,o):function(e,t){if(Vo)return"compositionend"===e||!Do&&Bo(e,t)?(e=eo(),Xt=Zt=Jt=null,Vo=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ro&&"ko"!==t.locale?null:t.data}}(e,o))&&0<(n=Gn(n,"onBeforeInput")).length&&(a=new vo("onBeforeInput","beforeinput",null,o,a),i.push({event:a,listeners:n}),a.data=y)}$n(i,t)})}function Kn(e,t,o){return{instance:e,listener:t,currentTarget:o}}function Gn(e,t){for(var o=t+"Capture",n=[];null!==e;){var a=e,r=a.stateNode;5===a.tag&&null!==r&&(a=r,null!=(r=Pe(e,o))&&n.unshift(Kn(e,r,a)),null!=(r=Pe(e,t))&&n.push(Kn(e,r,a))),e=e.return}return n}function Yn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Qn(e,t,o,n,a){for(var r=t._reactName,i=[];null!==o&&o!==n;){var s=o,c=s.alternate,l=s.stateNode;if(null!==c&&c===n)break;5===s.tag&&null!==l&&(s=l,a?null!=(c=Pe(o,r))&&i.unshift(Kn(o,c,s)):a||null!=(c=Pe(o,r))&&i.push(Kn(o,c,s))),o=o.return}0!==i.length&&e.push({event:t,listeners:i})}var Wn=/\r\n?/g,Jn=/\u0000|\uFFFD/g;function Zn(e){return("string"==typeof e?e:""+e).replace(Wn,"\n").replace(Jn,"")}function Xn(e,t,o){if(t=Zn(t),Zn(e)!==t&&o)throw Error(r(425))}function ea(){}var ta=null,oa=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var aa="function"==typeof setTimeout?setTimeout:void 0,ra="function"==typeof clearTimeout?clearTimeout:void 0,ia="function"==typeof Promise?Promise:void 0,sa="function"==typeof queueMicrotask?queueMicrotask:void 0!==ia?function(e){return ia.resolve(null).then(e).catch(ca)}:aa;function ca(e){setTimeout(function(){throw e})}function la(e,t){var o=t,n=0;do{var a=o.nextSibling;if(e.removeChild(o),a&&8===a.nodeType)if("/$"===(o=a.data)){if(0===n)return e.removeChild(a),void Vt(t);n--}else"$"!==o&&"$?"!==o&&"$!"!==o||n++;o=a}while(o);Vt(t)}function ua(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ma(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var o=e.data;if("$"===o||"$!"===o||"$?"===o){if(0===t)return e;t--}else"/$"===o&&t++}e=e.previousSibling}return null}var pa=Math.random().toString(36).slice(2),da="__reactFiber$"+pa,ha="__reactProps$"+pa,fa="__reactContainer$"+pa,ga="__reactEvents$"+pa,ba="__reactListeners$"+pa,ya="__reactHandles$"+pa;function ka(e){var t=e[da];if(t)return t;for(var o=e.parentNode;o;){if(t=o[fa]||o[da]){if(o=t.alternate,null!==t.child||null!==o&&null!==o.child)for(e=ma(e);null!==e;){if(o=e[da])return o;e=ma(e)}return t}o=(e=o).parentNode}return null}function va(e){return!(e=e[da]||e[fa])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(r(33))}function xa(e){return e[ha]||null}var ja=[],_a=-1;function Ca(e){return{current:e}}function za(e){0>_a||(e.current=ja[_a],ja[_a]=null,_a--)}function Sa(e,t){_a++,ja[_a]=e.current,e.current=t}var Ea={},Oa=Ca(Ea),Aa=Ca(!1),La=Ea;function Pa(e,t){var o=e.type.contextTypes;if(!o)return Ea;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a,r={};for(a in o)r[a]=t[a];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ia(e){return null!=e.childContextTypes}function Da(){za(Aa),za(Oa)}function Na(e,t,o){if(Oa.current!==Ea)throw Error(r(168));Sa(Oa,t),Sa(Aa,o)}function Ta(e,t,o){var n=e.stateNode;if(t=t.childContextTypes,"function"!=typeof n.getChildContext)return o;for(var a in n=n.getChildContext())if(!(a in t))throw Error(r(108,q(e)||"Unknown",a));return R({},o,n)}function Ra(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ea,La=Oa.current,Sa(Oa,e),Sa(Aa,Aa.current),!0}function Ma(e,t,o){var n=e.stateNode;if(!n)throw Error(r(169));o?(e=Ta(e,t,La),n.__reactInternalMemoizedMergedChildContext=e,za(Aa),za(Oa),Sa(Oa,e)):za(Aa),Sa(Aa,o)}var $a=null,Ba=!1,Ua=!1;function Va(e){null===$a?$a=[e]:$a.push(e)}function qa(){if(!Ua&&null!==$a){Ua=!0;var e=0,t=kt;try{var o=$a;for(kt=1;e<o.length;e++){var n=o[e];do{n=n(!0)}while(null!==n)}$a=null,Ba=!1}catch(t){throw null!==$a&&($a=$a.slice(e+1)),Ge(Xe,qa),t}finally{kt=t,Ua=!1}}return null}var Fa=[],Ha=0,Ka=null,Ga=0,Ya=[],Qa=0,Wa=null,Ja=1,Za="";function Xa(e,t){Fa[Ha++]=Ga,Fa[Ha++]=Ka,Ka=e,Ga=t}function er(e,t,o){Ya[Qa++]=Ja,Ya[Qa++]=Za,Ya[Qa++]=Wa,Wa=e;var n=Ja;e=Za;var a=32-it(n)-1;n&=~(1<<a),o+=1;var r=32-it(t)+a;if(30<r){var i=a-a%5;r=(n&(1<<i)-1).toString(32),n>>=i,a-=i,Ja=1<<32-it(t)+a|o<<a|n,Za=r+e}else Ja=1<<r|o<<a|n,Za=e}function tr(e){null!==e.return&&(Xa(e,1),er(e,1,0))}function or(e){for(;e===Ka;)Ka=Fa[--Ha],Fa[Ha]=null,Ga=Fa[--Ha],Fa[Ha]=null;for(;e===Wa;)Wa=Ya[--Qa],Ya[Qa]=null,Za=Ya[--Qa],Ya[Qa]=null,Ja=Ya[--Qa],Ya[Qa]=null}var nr=null,ar=null,rr=!1,ir=null;function sr(e,t){var o=Ll(5,null,null,0);o.elementType="DELETED",o.stateNode=t,o.return=e,null===(t=e.deletions)?(e.deletions=[o],e.flags|=16):t.push(o)}function cr(e,t){switch(e.tag){case 5:var o=e.type;return null!==(t=1!==t.nodeType||o.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,nr=e,ar=ua(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,nr=e,ar=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(o=null!==Wa?{id:Ja,overflow:Za}:null,e.memoizedState={dehydrated:t,treeContext:o,retryLane:1073741824},(o=Ll(18,null,null,0)).stateNode=t,o.return=e,e.child=o,nr=e,ar=null,!0);default:return!1}}function lr(e){return!(!(1&e.mode)||128&e.flags)}function ur(e){if(rr){var t=ar;if(t){var o=t;if(!cr(e,t)){if(lr(e))throw Error(r(418));t=ua(o.nextSibling);var n=nr;t&&cr(e,t)?sr(n,o):(e.flags=-4097&e.flags|2,rr=!1,nr=e)}}else{if(lr(e))throw Error(r(418));e.flags=-4097&e.flags|2,rr=!1,nr=e}}}function mr(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;nr=e}function pr(e){if(e!==nr)return!1;if(!rr)return mr(e),rr=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ar)){if(lr(e))throw dr(),Error(r(418));for(;t;)sr(e,t),t=ua(t.nextSibling)}if(mr(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var o=e.data;if("/$"===o){if(0===t){ar=ua(e.nextSibling);break e}t--}else"$"!==o&&"$!"!==o&&"$?"!==o||t++}e=e.nextSibling}ar=null}}else ar=nr?ua(e.stateNode.nextSibling):null;return!0}function dr(){for(var e=ar;e;)e=ua(e.nextSibling)}function hr(){ar=nr=null,rr=!1}function fr(e){null===ir?ir=[e]:ir.push(e)}var gr=v.ReactCurrentBatchConfig;function br(e,t,o){if(null!==(e=o.ref)&&"function"!=typeof e&&"object"!=typeof e){if(o._owner){if(o=o._owner){if(1!==o.tag)throw Error(r(309));var n=o.stateNode}if(!n)throw Error(r(147,e));var a=n,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(r(284));if(!o._owner)throw Error(r(290,e))}return e}function yr(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function kr(e){return(0,e._init)(e._payload)}function vr(e){function t(t,o){if(e){var n=t.deletions;null===n?(t.deletions=[o],t.flags|=16):n.push(o)}}function o(o,n){if(!e)return null;for(;null!==n;)t(o,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Il(e,t)).index=0,e.sibling=null,e}function i(t,o,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<o?(t.flags|=2,o):n:(t.flags|=2,o):(t.flags|=1048576,o)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,o,n){return null===t||6!==t.tag?((t=Rl(o,e.mode,n)).return=e,t):((t=a(t,o)).return=e,t)}function l(e,t,o,n){var r=o.type;return r===j?m(e,t,o.props.children,n,o.key):null!==t&&(t.elementType===r||"object"==typeof r&&null!==r&&r.$$typeof===P&&kr(r)===t.type)?((n=a(t,o.props)).ref=br(e,t,o),n.return=e,n):((n=Dl(o.type,o.key,o.props,null,e.mode,n)).ref=br(e,t,o),n.return=e,n)}function u(e,t,o,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==o.containerInfo||t.stateNode.implementation!==o.implementation?((t=Ml(o,e.mode,n)).return=e,t):((t=a(t,o.children||[])).return=e,t)}function m(e,t,o,n,r){return null===t||7!==t.tag?((t=Nl(o,e.mode,n,r)).return=e,t):((t=a(t,o)).return=e,t)}function p(e,t,o){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Rl(""+t,e.mode,o)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(o=Dl(t.type,t.key,t.props,null,e.mode,o)).ref=br(e,null,t),o.return=e,o;case x:return(t=Ml(t,e.mode,o)).return=e,t;case P:return p(e,(0,t._init)(t._payload),o)}if(te(t)||N(t))return(t=Nl(t,e.mode,o,null)).return=e,t;yr(e,t)}return null}function d(e,t,o,n){var a=null!==t?t.key:null;if("string"==typeof o&&""!==o||"number"==typeof o)return null!==a?null:c(e,t,""+o,n);if("object"==typeof o&&null!==o){switch(o.$$typeof){case w:return o.key===a?l(e,t,o,n):null;case x:return o.key===a?u(e,t,o,n):null;case P:return d(e,t,(a=o._init)(o._payload),n)}if(te(o)||N(o))return null!==a?null:m(e,t,o,n,null);yr(e,o)}return null}function h(e,t,o,n,a){if("string"==typeof n&&""!==n||"number"==typeof n)return c(t,e=e.get(o)||null,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return l(t,e=e.get(null===n.key?o:n.key)||null,n,a);case x:return u(t,e=e.get(null===n.key?o:n.key)||null,n,a);case P:return h(e,t,o,(0,n._init)(n._payload),a)}if(te(n)||N(n))return m(t,e=e.get(o)||null,n,a,null);yr(t,n)}return null}function f(a,r,s,c){for(var l=null,u=null,m=r,f=r=0,g=null;null!==m&&f<s.length;f++){m.index>f?(g=m,m=null):g=m.sibling;var b=d(a,m,s[f],c);if(null===b){null===m&&(m=g);break}e&&m&&null===b.alternate&&t(a,m),r=i(b,r,f),null===u?l=b:u.sibling=b,u=b,m=g}if(f===s.length)return o(a,m),rr&&Xa(a,f),l;if(null===m){for(;f<s.length;f++)null!==(m=p(a,s[f],c))&&(r=i(m,r,f),null===u?l=m:u.sibling=m,u=m);return rr&&Xa(a,f),l}for(m=n(a,m);f<s.length;f++)null!==(g=h(m,a,f,s[f],c))&&(e&&null!==g.alternate&&m.delete(null===g.key?f:g.key),r=i(g,r,f),null===u?l=g:u.sibling=g,u=g);return e&&m.forEach(function(e){return t(a,e)}),rr&&Xa(a,f),l}function g(a,s,c,l){var u=N(c);if("function"!=typeof u)throw Error(r(150));if(null==(c=u.call(c)))throw Error(r(151));for(var m=u=null,f=s,g=s=0,b=null,y=c.next();null!==f&&!y.done;g++,y=c.next()){f.index>g?(b=f,f=null):b=f.sibling;var k=d(a,f,y.value,l);if(null===k){null===f&&(f=b);break}e&&f&&null===k.alternate&&t(a,f),s=i(k,s,g),null===m?u=k:m.sibling=k,m=k,f=b}if(y.done)return o(a,f),rr&&Xa(a,g),u;if(null===f){for(;!y.done;g++,y=c.next())null!==(y=p(a,y.value,l))&&(s=i(y,s,g),null===m?u=y:m.sibling=y,m=y);return rr&&Xa(a,g),u}for(f=n(a,f);!y.done;g++,y=c.next())null!==(y=h(f,a,g,y.value,l))&&(e&&null!==y.alternate&&f.delete(null===y.key?g:y.key),s=i(y,s,g),null===m?u=y:m.sibling=y,m=y);return e&&f.forEach(function(e){return t(a,e)}),rr&&Xa(a,g),u}return function e(n,r,i,c){if("object"==typeof i&&null!==i&&i.type===j&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var l=i.key,u=r;null!==u;){if(u.key===l){if((l=i.type)===j){if(7===u.tag){o(n,u.sibling),(r=a(u,i.props.children)).return=n,n=r;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===P&&kr(l)===u.type){o(n,u.sibling),(r=a(u,i.props)).ref=br(n,u,i),r.return=n,n=r;break e}o(n,u);break}t(n,u),u=u.sibling}i.type===j?((r=Nl(i.props.children,n.mode,c,i.key)).return=n,n=r):((c=Dl(i.type,i.key,i.props,null,n.mode,c)).ref=br(n,r,i),c.return=n,n=c)}return s(n);case x:e:{for(u=i.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){o(n,r.sibling),(r=a(r,i.children||[])).return=n,n=r;break e}o(n,r);break}t(n,r),r=r.sibling}(r=Ml(i,n.mode,c)).return=n,n=r}return s(n);case P:return e(n,r,(u=i._init)(i._payload),c)}if(te(i))return f(n,r,i,c);if(N(i))return g(n,r,i,c);yr(n,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==r&&6===r.tag?(o(n,r.sibling),(r=a(r,i)).return=n,n=r):(o(n,r),(r=Rl(i,n.mode,c)).return=n,n=r),s(n)):o(n,r)}}var wr=vr(!0),xr=vr(!1),jr=Ca(null),_r=null,Cr=null,zr=null;function Sr(){zr=Cr=_r=null}function Er(e){var t=jr.current;za(jr),e._currentValue=t}function Or(e,t,o){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==n&&(n.childLanes|=t)):null!==n&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===o)break;e=e.return}}function Ar(e,t){_r=e,zr=Cr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ks=!0),e.firstContext=null)}function Lr(e){var t=e._currentValue;if(zr!==e)if(e={context:e,memoizedValue:t,next:null},null===Cr){if(null===_r)throw Error(r(308));Cr=e,_r.dependencies={lanes:0,firstContext:e}}else Cr=Cr.next=e;return t}var Pr=null;function Ir(e){null===Pr?Pr=[e]:Pr.push(e)}function Dr(e,t,o,n){var a=t.interleaved;return null===a?(o.next=o,Ir(t)):(o.next=a.next,a.next=o),t.interleaved=o,Nr(e,n)}function Nr(e,t){e.lanes|=t;var o=e.alternate;for(null!==o&&(o.lanes|=t),o=e,e=e.return;null!==e;)e.childLanes|=t,null!==(o=e.alternate)&&(o.childLanes|=t),o=e,e=e.return;return 3===o.tag?o.stateNode:null}var Tr=!1;function Rr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $r(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Br(e,t,o){var n=e.updateQueue;if(null===n)return null;if(n=n.shared,2&Ec){var a=n.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),n.pending=t,Nr(e,o)}return null===(a=n.interleaved)?(t.next=t,Ir(n)):(t.next=a.next,a.next=t),n.interleaved=t,Nr(e,o)}function Ur(e,t,o){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&o)){var n=t.lanes;o|=n&=e.pendingLanes,t.lanes=o,yt(e,o)}}function Vr(e,t){var o=e.updateQueue,n=e.alternate;if(null!==n&&o===(n=n.updateQueue)){var a=null,r=null;if(null!==(o=o.firstBaseUpdate)){do{var i={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};null===r?a=r=i:r=r.next=i,o=o.next}while(null!==o);null===r?a=r=t:r=r.next=t}else a=r=t;return o={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:r,shared:n.shared,effects:n.effects},void(e.updateQueue=o)}null===(e=o.lastBaseUpdate)?o.firstBaseUpdate=t:e.next=t,o.lastBaseUpdate=t}function qr(e,t,o,n){var a=e.updateQueue;Tr=!1;var r=a.firstBaseUpdate,i=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var c=s,l=c.next;c.next=null,null===i?r=l:i.next=l,i=c;var u=e.alternate;null!==u&&(s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c)}if(null!==r){var m=a.baseState;for(i=0,u=l=c=null,s=r;;){var p=s.lane,d=s.eventTime;if((n&p)===p){null!==u&&(u=u.next={eventTime:d,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,f=s;switch(p=t,d=o,f.tag){case 1:if("function"==typeof(h=f.payload)){m=h.call(d,m,p);break e}m=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(p="function"==typeof(h=f.payload)?h.call(d,m,p):h))break e;m=R({},m,p);break e;case 2:Tr=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[s]:p.push(s))}else d={eventTime:d,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=d,c=m):u=u.next=d,i|=p;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(p=s).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(c=m),a.baseState=c,a.firstBaseUpdate=l,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===r&&(a.shared.lanes=0);Tc|=i,e.lanes=i,e.memoizedState=m}}function Fr(e,t,o){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],a=n.callback;if(null!==a){if(n.callback=null,n=o,"function"!=typeof a)throw Error(r(191,a));a.call(n)}}}var Hr={},Kr=Ca(Hr),Gr=Ca(Hr),Yr=Ca(Hr);function Qr(e){if(e===Hr)throw Error(r(174));return e}function Wr(e,t){switch(Sa(Yr,t),Sa(Gr,e),Sa(Kr,Hr),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}za(Kr),Sa(Kr,t)}function Jr(){za(Kr),za(Gr),za(Yr)}function Zr(e){Qr(Yr.current);var t=Qr(Kr.current),o=ce(t,e.type);t!==o&&(Sa(Gr,e),Sa(Kr,o))}function Xr(e){Gr.current===e&&(za(Kr),za(Gr))}var ei=Ca(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var o=t.memoizedState;if(null!==o&&(null===(o=o.dehydrated)||"$?"===o.data||"$!"===o.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var oi=[];function ni(){for(var e=0;e<oi.length;e++)oi[e]._workInProgressVersionPrimary=null;oi.length=0}var ai=v.ReactCurrentDispatcher,ri=v.ReactCurrentBatchConfig,ii=0,si=null,ci=null,li=null,ui=!1,mi=!1,pi=0,di=0;function hi(){throw Error(r(321))}function fi(e,t){if(null===t)return!1;for(var o=0;o<t.length&&o<e.length;o++)if(!cn(e[o],t[o]))return!1;return!0}function gi(e,t,o,n,a,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ai.current=null===e||null===e.memoizedState?Xi:es,e=o(n,a),mi){i=0;do{if(mi=!1,pi=0,25<=i)throw Error(r(301));i+=1,li=ci=null,t.updateQueue=null,ai.current=ts,e=o(n,a)}while(mi)}if(ai.current=Zi,t=null!==ci&&null!==ci.next,ii=0,li=ci=si=null,ui=!1,t)throw Error(r(300));return e}function bi(){var e=0!==pi;return pi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===li?si.memoizedState=li=e:li=li.next=e,li}function ki(){if(null===ci){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=ci.next;var t=null===li?si.memoizedState:li.next;if(null!==t)li=t,ci=e;else{if(null===e)throw Error(r(310));e={memoizedState:(ci=e).memoizedState,baseState:ci.baseState,baseQueue:ci.baseQueue,queue:ci.queue,next:null},null===li?si.memoizedState=li=e:li=li.next=e}return li}function vi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=ki(),o=t.queue;if(null===o)throw Error(r(311));o.lastRenderedReducer=e;var n=ci,a=n.baseQueue,i=o.pending;if(null!==i){if(null!==a){var s=a.next;a.next=i.next,i.next=s}n.baseQueue=a=i,o.pending=null}if(null!==a){i=a.next,n=n.baseState;var c=s=null,l=null,u=i;do{var m=u.lane;if((ii&m)===m)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),n=u.hasEagerState?u.eagerState:e(n,u.action);else{var p={lane:m,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=p,s=n):l=l.next=p,si.lanes|=m,Tc|=m}u=u.next}while(null!==u&&u!==i);null===l?s=n:l.next=c,cn(n,t.memoizedState)||(ks=!0),t.memoizedState=n,t.baseState=s,t.baseQueue=l,o.lastRenderedState=n}if(null!==(e=o.interleaved)){a=e;do{i=a.lane,si.lanes|=i,Tc|=i,a=a.next}while(a!==e)}else null===a&&(o.lanes=0);return[t.memoizedState,o.dispatch]}function xi(e){var t=ki(),o=t.queue;if(null===o)throw Error(r(311));o.lastRenderedReducer=e;var n=o.dispatch,a=o.pending,i=t.memoizedState;if(null!==a){o.pending=null;var s=a=a.next;do{i=e(i,s.action),s=s.next}while(s!==a);cn(i,t.memoizedState)||(ks=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),o.lastRenderedState=i}return[i,n]}function ji(){}function _i(e,t){var o=si,n=ki(),a=t(),i=!cn(n.memoizedState,a);if(i&&(n.memoizedState=a,ks=!0),n=n.queue,Ti(Si.bind(null,o,n,e),[e]),n.getSnapshot!==t||i||null!==li&&1&li.memoizedState.tag){if(o.flags|=2048,Li(9,zi.bind(null,o,n,a,t),void 0,null),null===Oc)throw Error(r(349));30&ii||Ci(o,t,a)}return a}function Ci(e,t,o){e.flags|=16384,e={getSnapshot:t,value:o},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(o=t.stores)?t.stores=[e]:o.push(e)}function zi(e,t,o,n){t.value=o,t.getSnapshot=n,Ei(t)&&Oi(e)}function Si(e,t,o){return o(function(){Ei(t)&&Oi(e)})}function Ei(e){var t=e.getSnapshot;e=e.value;try{var o=t();return!cn(e,o)}catch(e){return!0}}function Oi(e){var t=Nr(e,1);null!==t&&ol(t,e,1,-1)}function Ai(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:e},t.queue=e,e=e.dispatch=Yi.bind(null,si,e),[t.memoizedState,e]}function Li(e,t,o,n){return e={tag:e,create:t,destroy:o,deps:n,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(o=t.lastEffect)?t.lastEffect=e.next=e:(n=o.next,o.next=e,e.next=n,t.lastEffect=e),e}function Pi(){return ki().memoizedState}function Ii(e,t,o,n){var a=yi();si.flags|=e,a.memoizedState=Li(1|t,o,void 0,void 0===n?null:n)}function Di(e,t,o,n){var a=ki();n=void 0===n?null:n;var r=void 0;if(null!==ci){var i=ci.memoizedState;if(r=i.destroy,null!==n&&fi(n,i.deps))return void(a.memoizedState=Li(t,o,r,n))}si.flags|=e,a.memoizedState=Li(1|t,o,r,n)}function Ni(e,t){return Ii(8390656,8,e,t)}function Ti(e,t){return Di(2048,8,e,t)}function Ri(e,t){return Di(4,2,e,t)}function Mi(e,t){return Di(4,4,e,t)}function $i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,o){return o=null!=o?o.concat([e]):null,Di(4,4,$i.bind(null,t,e),o)}function Ui(){}function Vi(e,t){var o=ki();t=void 0===t?null:t;var n=o.memoizedState;return null!==n&&null!==t&&fi(t,n[1])?n[0]:(o.memoizedState=[e,t],e)}function qi(e,t){var o=ki();t=void 0===t?null:t;var n=o.memoizedState;return null!==n&&null!==t&&fi(t,n[1])?n[0]:(e=e(),o.memoizedState=[e,t],e)}function Fi(e,t,o){return 21&ii?(cn(o,t)||(o=ft(),si.lanes|=o,Tc|=o,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ks=!0),e.memoizedState=o)}function Hi(e,t){var o=kt;kt=0!==o&&4>o?o:4,e(!0);var n=ri.transition;ri.transition={};try{e(!1),t()}finally{kt=o,ri.transition=n}}function Ki(){return ki().memoizedState}function Gi(e,t,o){var n=tl(e);o={lane:n,action:o,hasEagerState:!1,eagerState:null,next:null},Qi(e)?Wi(t,o):null!==(o=Dr(e,t,o,n))&&(ol(o,e,n,el()),Ji(o,t,n))}function Yi(e,t,o){var n=tl(e),a={lane:n,action:o,hasEagerState:!1,eagerState:null,next:null};if(Qi(e))Wi(t,a);else{var r=e.alternate;if(0===e.lanes&&(null===r||0===r.lanes)&&null!==(r=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=r(i,o);if(a.hasEagerState=!0,a.eagerState=s,cn(s,i)){var c=t.interleaved;return null===c?(a.next=a,Ir(t)):(a.next=c.next,c.next=a),void(t.interleaved=a)}}catch(e){}null!==(o=Dr(e,t,a,n))&&(ol(o,e,n,a=el()),Ji(o,t,n))}}function Qi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Wi(e,t){mi=ui=!0;var o=e.pending;null===o?t.next=t:(t.next=o.next,o.next=t),e.pending=t}function Ji(e,t,o){if(4194240&o){var n=t.lanes;o|=n&=e.pendingLanes,t.lanes=o,yt(e,o)}}var Zi={readContext:Lr,useCallback:hi,useContext:hi,useEffect:hi,useImperativeHandle:hi,useInsertionEffect:hi,useLayoutEffect:hi,useMemo:hi,useReducer:hi,useRef:hi,useState:hi,useDebugValue:hi,useDeferredValue:hi,useTransition:hi,useMutableSource:hi,useSyncExternalStore:hi,useId:hi,unstable_isNewReconciler:!1},Xi={readContext:Lr,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:Lr,useEffect:Ni,useImperativeHandle:function(e,t,o){return o=null!=o?o.concat([e]):null,Ii(4194308,4,$i.bind(null,t,e),o)},useLayoutEffect:function(e,t){return Ii(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ii(4,2,e,t)},useMemo:function(e,t){var o=yi();return t=void 0===t?null:t,e=e(),o.memoizedState=[e,t],e},useReducer:function(e,t,o){var n=yi();return t=void 0!==o?o(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=Gi.bind(null,si,e),[n.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Ai,useDebugValue:Ui,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Ai(!1),t=e[0];return e=Hi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,o){var n=si,a=yi();if(rr){if(void 0===o)throw Error(r(407));o=o()}else{if(o=t(),null===Oc)throw Error(r(349));30&ii||Ci(n,t,o)}a.memoizedState=o;var i={value:o,getSnapshot:t};return a.queue=i,Ni(Si.bind(null,n,i,e),[e]),n.flags|=2048,Li(9,zi.bind(null,n,i,o,t),void 0,null),o},useId:function(){var e=yi(),t=Oc.identifierPrefix;if(rr){var o=Za;t=":"+t+"R"+(o=(Ja&~(1<<32-it(Ja)-1)).toString(32)+o),0<(o=pi++)&&(t+="H"+o.toString(32)),t+=":"}else t=":"+t+"r"+(o=di++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Lr,useCallback:Vi,useContext:Lr,useEffect:Ti,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:qi,useReducer:wi,useRef:Pi,useState:function(){return wi(vi)},useDebugValue:Ui,useDeferredValue:function(e){return Fi(ki(),ci.memoizedState,e)},useTransition:function(){return[wi(vi)[0],ki().memoizedState]},useMutableSource:ji,useSyncExternalStore:_i,useId:Ki,unstable_isNewReconciler:!1},ts={readContext:Lr,useCallback:Vi,useContext:Lr,useEffect:Ti,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:qi,useReducer:xi,useRef:Pi,useState:function(){return xi(vi)},useDebugValue:Ui,useDeferredValue:function(e){var t=ki();return null===ci?t.memoizedState=e:Fi(t,ci.memoizedState,e)},useTransition:function(){return[xi(vi)[0],ki().memoizedState]},useMutableSource:ji,useSyncExternalStore:_i,useId:Ki,unstable_isNewReconciler:!1};function os(e,t){if(e&&e.defaultProps){for(var o in t=R({},t),e=e.defaultProps)void 0===t[o]&&(t[o]=e[o]);return t}return t}function ns(e,t,o,n){o=null==(o=o(n,t=e.memoizedState))?t:R({},t,o),e.memoizedState=o,0===e.lanes&&(e.updateQueue.baseState=o)}var as={isMounted:function(e){return!!(e=e._reactInternals)&&Ve(e)===e},enqueueSetState:function(e,t,o){e=e._reactInternals;var n=el(),a=tl(e),r=$r(n,a);r.payload=t,null!=o&&(r.callback=o),null!==(t=Br(e,r,a))&&(ol(t,e,a,n),Ur(t,e,a))},enqueueReplaceState:function(e,t,o){e=e._reactInternals;var n=el(),a=tl(e),r=$r(n,a);r.tag=1,r.payload=t,null!=o&&(r.callback=o),null!==(t=Br(e,r,a))&&(ol(t,e,a,n),Ur(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var o=el(),n=tl(e),a=$r(o,n);a.tag=2,null!=t&&(a.callback=t),null!==(t=Br(e,a,n))&&(ol(t,e,n,o),Ur(t,e,n))}};function rs(e,t,o,n,a,r,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,r,i):!(t.prototype&&t.prototype.isPureReactComponent&&ln(o,n)&&ln(a,r))}function is(e,t,o){var n=!1,a=Ea,r=t.contextType;return"object"==typeof r&&null!==r?r=Lr(r):(a=Ia(t)?La:Oa.current,r=(n=null!=(n=t.contextTypes))?Pa(e,a):Ea),t=new t(o,r),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=as,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=r),t}function ss(e,t,o,n){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(o,n),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(o,n),t.state!==e&&as.enqueueReplaceState(t,t.state,null)}function cs(e,t,o,n){var a=e.stateNode;a.props=o,a.state=e.memoizedState,a.refs={},Rr(e);var r=t.contextType;"object"==typeof r&&null!==r?a.context=Lr(r):(r=Ia(t)?La:Oa.current,a.context=Pa(e,r)),a.state=e.memoizedState,"function"==typeof(r=t.getDerivedStateFromProps)&&(ns(e,t,r,o),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&as.enqueueReplaceState(a,a.state,null),qr(e,o,a,n),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var o="",n=t;do{o+=U(n),n=n.return}while(n);var a=o}catch(e){a="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:a,digest:null}}function us(e,t,o){return{value:e,source:null,stack:null!=o?o:null,digest:null!=t?t:null}}function ms(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ps="function"==typeof WeakMap?WeakMap:Map;function ds(e,t,o){(o=$r(-1,o)).tag=3,o.payload={element:null};var n=t.value;return o.callback=function(){Fc||(Fc=!0,Hc=n),ms(0,t)},o}function hs(e,t,o){(o=$r(-1,o)).tag=3;var n=e.type.getDerivedStateFromError;if("function"==typeof n){var a=t.value;o.payload=function(){return n(a)},o.callback=function(){ms(0,t)}}var r=e.stateNode;return null!==r&&"function"==typeof r.componentDidCatch&&(o.callback=function(){ms(0,t),"function"!=typeof n&&(null===Kc?Kc=new Set([this]):Kc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),o}function fs(e,t,o){var n=e.pingCache;if(null===n){n=e.pingCache=new ps;var a=new Set;n.set(t,a)}else void 0===(a=n.get(t))&&(a=new Set,n.set(t,a));a.has(o)||(a.add(o),e=Cl.bind(null,e,t,o),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,o,n,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,o.flags|=131072,o.flags&=-52805,1===o.tag&&(null===o.alternate?o.tag=17:((t=$r(-1,1)).tag=2,Br(o,t,1))),o.lanes|=1),e)}var ys=v.ReactCurrentOwner,ks=!1;function vs(e,t,o,n){t.child=null===e?xr(t,null,o,n):wr(t,e.child,o,n)}function ws(e,t,o,n,a){o=o.render;var r=t.ref;return Ar(t,a),n=gi(e,t,o,n,r,a),o=bi(),null===e||ks?(rr&&o&&tr(t),t.flags|=1,vs(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Fs(e,t,a))}function xs(e,t,o,n,a){if(null===e){var r=o.type;return"function"!=typeof r||Pl(r)||void 0!==r.defaultProps||null!==o.compare||void 0!==o.defaultProps?((e=Dl(o.type,null,n,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=r,js(e,t,r,n,a))}if(r=e.child,0===(e.lanes&a)){var i=r.memoizedProps;if((o=null!==(o=o.compare)?o:ln)(i,n)&&e.ref===t.ref)return Fs(e,t,a)}return t.flags|=1,(e=Il(r,n)).ref=t.ref,e.return=t,t.child=e}function js(e,t,o,n,a){if(null!==e){var r=e.memoizedProps;if(ln(r,n)&&e.ref===t.ref){if(ks=!1,t.pendingProps=n=r,0===(e.lanes&a))return t.lanes=e.lanes,Fs(e,t,a);131072&e.flags&&(ks=!0)}}return zs(e,t,o,n,a)}function _s(e,t,o){var n=t.pendingProps,a=n.children,r=null!==e?e.memoizedState:null;if("hidden"===n.mode)if(1&t.mode){if(!(1073741824&o))return e=null!==r?r.baseLanes|o:o,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Sa(Ic,Pc),Pc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=null!==r?r.baseLanes:o,Sa(Ic,Pc),Pc|=n}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Sa(Ic,Pc),Pc|=o;else null!==r?(n=r.baseLanes|o,t.memoizedState=null):n=o,Sa(Ic,Pc),Pc|=n;return vs(e,t,a,o),t.child}function Cs(e,t){var o=t.ref;(null===e&&null!==o||null!==e&&e.ref!==o)&&(t.flags|=512,t.flags|=2097152)}function zs(e,t,o,n,a){var r=Ia(o)?La:Oa.current;return r=Pa(t,r),Ar(t,a),o=gi(e,t,o,n,r,a),n=bi(),null===e||ks?(rr&&n&&tr(t),t.flags|=1,vs(e,t,o,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Fs(e,t,a))}function Ss(e,t,o,n,a){if(Ia(o)){var r=!0;Ra(t)}else r=!1;if(Ar(t,a),null===t.stateNode)qs(e,t),is(t,o,n),cs(t,o,n,a),n=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var c=i.context,l=o.contextType;l="object"==typeof l&&null!==l?Lr(l):Pa(t,l=Ia(o)?La:Oa.current);var u=o.getDerivedStateFromProps,m="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;m||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==n||c!==l)&&ss(t,i,n,l),Tr=!1;var p=t.memoizedState;i.state=p,qr(t,n,i,a),c=t.memoizedState,s!==n||p!==c||Aa.current||Tr?("function"==typeof u&&(ns(t,o,u,n),c=t.memoizedState),(s=Tr||rs(t,o,s,n,p,c,l))?(m||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=c),i.props=n,i.state=c,i.context=l,n=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,Mr(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:os(t.type,s),i.props=l,m=t.pendingProps,p=i.context,c="object"==typeof(c=o.contextType)&&null!==c?Lr(c):Pa(t,c=Ia(o)?La:Oa.current);var d=o.getDerivedStateFromProps;(u="function"==typeof d||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==m||p!==c)&&ss(t,i,n,c),Tr=!1,p=t.memoizedState,i.state=p,qr(t,n,i,a);var h=t.memoizedState;s!==m||p!==h||Aa.current||Tr?("function"==typeof d&&(ns(t,o,d,n),h=t.memoizedState),(l=Tr||rs(t,o,l,n,p,h,c)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(n,h,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(n,h,c)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=h),i.props=n,i.state=h,i.context=c,n=l):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),n=!1)}return Es(e,t,o,n,r,a)}function Es(e,t,o,n,a,r){Cs(e,t);var i=!!(128&t.flags);if(!n&&!i)return a&&Ma(t,o,!1),Fs(e,t,r);n=t.stateNode,ys.current=t;var s=i&&"function"!=typeof o.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&i?(t.child=wr(t,e.child,null,r),t.child=wr(t,null,s,r)):vs(e,t,s,r),t.memoizedState=n.state,a&&Ma(t,o,!0),t.child}function Os(e){var t=e.stateNode;t.pendingContext?Na(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Na(0,t.context,!1),Wr(e,t.containerInfo)}function As(e,t,o,n,a){return hr(),fr(a),t.flags|=256,vs(e,t,o,n),t.child}var Ls,Ps,Is,Ds,Ns={dehydrated:null,treeContext:null,retryLane:0};function Ts(e){return{baseLanes:e,cachePool:null,transitions:null}}function Rs(e,t,o){var n,a=t.pendingProps,i=ei.current,s=!1,c=!!(128&t.flags);if((n=c)||(n=(null===e||null!==e.memoizedState)&&!!(2&i)),n?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Sa(ei,1&i),null===e)return ur(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=a.children,e=a.fallback,s?(a=t.mode,s=t.child,c={mode:"hidden",children:c},1&a||null===s?s=Tl(c,a,0,null):(s.childLanes=0,s.pendingProps=c),e=Nl(e,a,o,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ts(o),t.memoizedState=Ns,e):Ms(t,c));if(null!==(i=e.memoizedState)&&null!==(n=i.dehydrated))return function(e,t,o,n,a,i,s){if(o)return 256&t.flags?(t.flags&=-257,$s(e,t,s,n=us(Error(r(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=n.fallback,a=t.mode,n=Tl({mode:"visible",children:n.children},a,0,null),(i=Nl(i,a,s,null)).flags|=2,n.return=t,i.return=t,n.sibling=i,t.child=n,1&t.mode&&wr(t,e.child,null,s),t.child.memoizedState=Ts(s),t.memoizedState=Ns,i);if(!(1&t.mode))return $s(e,t,s,null);if("$!"===a.data){if(n=a.nextSibling&&a.nextSibling.dataset)var c=n.dgst;return n=c,$s(e,t,s,n=us(i=Error(r(419)),n,void 0))}if(c=0!==(s&e.childLanes),ks||c){if(null!==(n=Oc)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(n.suspendedLanes|s))?0:a)&&a!==i.retryLane&&(i.retryLane=a,Nr(e,a),ol(n,e,a,-1))}return fl(),$s(e,t,s,n=us(Error(r(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Sl.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ar=ua(a.nextSibling),nr=t,rr=!0,ir=null,null!==e&&(Ya[Qa++]=Ja,Ya[Qa++]=Za,Ya[Qa++]=Wa,Ja=e.id,Za=e.overflow,Wa=t),(t=Ms(t,n.children)).flags|=4096,t)}(e,t,c,a,n,i,o);if(s){s=a.fallback,c=t.mode,n=(i=e.child).sibling;var l={mode:"hidden",children:a.children};return 1&c||t.child===i?(a=Il(i,l)).subtreeFlags=14680064&i.subtreeFlags:((a=t.child).childLanes=0,a.pendingProps=l,t.deletions=null),null!==n?s=Il(n,s):(s=Nl(s,c,o,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,c=null===(c=e.child.memoizedState)?Ts(o):{baseLanes:c.baseLanes|o,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~o,t.memoizedState=Ns,a}return e=(s=e.child).sibling,a=Il(s,{mode:"visible",children:a.children}),!(1&t.mode)&&(a.lanes=o),a.return=t,a.sibling=null,null!==e&&(null===(o=t.deletions)?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a}function Ms(e,t){return(t=Tl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function $s(e,t,o,n){return null!==n&&fr(n),wr(t,e.child,null,o),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,o){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),Or(e.return,t,o)}function Us(e,t,o,n,a){var r=e.memoizedState;null===r?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:o,tailMode:a}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=n,r.tail=o,r.tailMode=a)}function Vs(e,t,o){var n=t.pendingProps,a=n.revealOrder,r=n.tail;if(vs(e,t,n.children,o),2&(n=ei.current))n=1&n|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,o,t);else if(19===e.tag)Bs(e,o,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(Sa(ei,n),1&t.mode)switch(a){case"forwards":for(o=t.child,a=null;null!==o;)null!==(e=o.alternate)&&null===ti(e)&&(a=o),o=o.sibling;null===(o=a)?(a=t.child,t.child=null):(a=o.sibling,o.sibling=null),Us(t,!1,a,o,r);break;case"backwards":for(o=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ti(e)){t.child=a;break}e=a.sibling,a.sibling=o,o=a,a=e}Us(t,!0,o,null,r);break;case"together":Us(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function qs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Fs(e,t,o){if(null!==e&&(t.dependencies=e.dependencies),Tc|=t.lanes,0===(o&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(r(153));if(null!==t.child){for(o=Il(e=t.child,e.pendingProps),t.child=o,o.return=t;null!==e.sibling;)e=e.sibling,(o=o.sibling=Il(e,e.pendingProps)).return=t;o.sibling=null}return t.child}function Hs(e,t){if(!rr)switch(e.tailMode){case"hidden":t=e.tail;for(var o=null;null!==t;)null!==t.alternate&&(o=t),t=t.sibling;null===o?e.tail=null:o.sibling=null;break;case"collapsed":o=e.tail;for(var n=null;null!==o;)null!==o.alternate&&(n=o),o=o.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Ks(e){var t=null!==e.alternate&&e.alternate.child===e.child,o=0,n=0;if(t)for(var a=e.child;null!==a;)o|=a.lanes|a.childLanes,n|=14680064&a.subtreeFlags,n|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)o|=a.lanes|a.childLanes,n|=a.subtreeFlags,n|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=n,e.childLanes=o,t}function Gs(e,t,o){var n=t.pendingProps;switch(or(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ks(t),null;case 1:case 17:return Ia(t.type)&&Da(),Ks(t),null;case 3:return n=t.stateNode,Jr(),za(Aa),za(Oa),ni(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(pr(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ir&&(il(ir),ir=null))),Ps(e,t),Ks(t),null;case 5:Xr(t);var a=Qr(Yr.current);if(o=t.type,null!==e&&null!=t.stateNode)Is(e,t,o,n,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(null===t.stateNode)throw Error(r(166));return Ks(t),null}if(e=Qr(Kr.current),pr(t)){n=t.stateNode,o=t.type;var i=t.memoizedProps;switch(n[da]=t,n[ha]=i,e=!!(1&t.mode),o){case"dialog":Bn("cancel",n),Bn("close",n);break;case"iframe":case"object":case"embed":Bn("load",n);break;case"video":case"audio":for(a=0;a<Tn.length;a++)Bn(Tn[a],n);break;case"source":Bn("error",n);break;case"img":case"image":case"link":Bn("error",n),Bn("load",n);break;case"details":Bn("toggle",n);break;case"input":W(n,i),Bn("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!i.multiple},Bn("invalid",n);break;case"textarea":ae(n,i),Bn("invalid",n)}for(var c in ye(o,i),a=null,i)if(i.hasOwnProperty(c)){var l=i[c];"children"===c?"string"==typeof l?n.textContent!==l&&(!0!==i.suppressHydrationWarning&&Xn(n.textContent,l,e),a=["children",l]):"number"==typeof l&&n.textContent!==""+l&&(!0!==i.suppressHydrationWarning&&Xn(n.textContent,l,e),a=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Bn("scroll",n)}switch(o){case"input":K(n),X(n,i,!0);break;case"textarea":K(n),ie(n);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(n.onclick=ea)}n=a,t.updateQueue=n,null!==n&&(t.flags|=4)}else{c=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(o)),"http://www.w3.org/1999/xhtml"===e?"script"===o?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof n.is?e=c.createElement(o,{is:n.is}):(e=c.createElement(o),"select"===o&&(c=e,n.multiple?c.multiple=!0:n.size&&(c.size=n.size))):e=c.createElementNS(e,o),e[da]=t,e[ha]=n,Ls(e,t,!1,!1),t.stateNode=e;e:{switch(c=ke(o,n),o){case"dialog":Bn("cancel",e),Bn("close",e),a=n;break;case"iframe":case"object":case"embed":Bn("load",e),a=n;break;case"video":case"audio":for(a=0;a<Tn.length;a++)Bn(Tn[a],e);a=n;break;case"source":Bn("error",e),a=n;break;case"img":case"image":case"link":Bn("error",e),Bn("load",e),a=n;break;case"details":Bn("toggle",e),a=n;break;case"input":W(e,n),a=Q(e,n),Bn("invalid",e);break;case"option":default:a=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},a=R({},n,{value:void 0}),Bn("invalid",e);break;case"textarea":ae(e,n),a=ne(e,n),Bn("invalid",e)}for(i in ye(o,a),l=a)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&me(e,u):"children"===i?"string"==typeof u?("textarea"!==o||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&Bn("scroll",e):null!=u&&k(e,i,u,c))}switch(o){case"input":K(e),X(e,n,!1);break;case"textarea":K(e),ie(e);break;case"option":null!=n.value&&e.setAttribute("value",""+F(n.value));break;case"select":e.multiple=!!n.multiple,null!=(i=n.value)?oe(e,!!n.multiple,i,!1):null!=n.defaultValue&&oe(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=ea)}switch(o){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ks(t),null;case 6:if(e&&null!=t.stateNode)Ds(e,t,e.memoizedProps,n);else{if("string"!=typeof n&&null===t.stateNode)throw Error(r(166));if(o=Qr(Yr.current),Qr(Kr.current),pr(t)){if(n=t.stateNode,o=t.memoizedProps,n[da]=t,(i=n.nodeValue!==o)&&null!==(e=nr))switch(e.tag){case 3:Xn(n.nodeValue,o,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xn(n.nodeValue,o,!!(1&e.mode))}i&&(t.flags|=4)}else(n=(9===o.nodeType?o:o.ownerDocument).createTextNode(n))[da]=t,t.stateNode=n}return Ks(t),null;case 13:if(za(ei),n=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(rr&&null!==ar&&1&t.mode&&!(128&t.flags))dr(),hr(),t.flags|=98560,i=!1;else if(i=pr(t),null!==n&&null!==n.dehydrated){if(null===e){if(!i)throw Error(r(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(r(317));i[da]=t}else hr(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ks(t),i=!1}else null!==ir&&(il(ir),ir=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=o,t):((n=null!==n)!=(null!==e&&null!==e.memoizedState)&&n&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Dc&&(Dc=3):fl())),null!==t.updateQueue&&(t.flags|=4),Ks(t),null);case 4:return Jr(),Ps(e,t),null===e&&qn(t.stateNode.containerInfo),Ks(t),null;case 10:return Er(t.type._context),Ks(t),null;case 19:if(za(ei),null===(i=t.memoizedState))return Ks(t),null;if(n=!!(128&t.flags),null===(c=i.rendering))if(n)Hs(i,!1);else{if(0!==Dc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=ti(e))){for(t.flags|=128,Hs(i,!1),null!==(n=c.updateQueue)&&(t.updateQueue=n,t.flags|=4),t.subtreeFlags=0,n=o,o=t.child;null!==o;)e=n,(i=o).flags&=14680066,null===(c=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=c.childLanes,i.lanes=c.lanes,i.child=c.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=c.memoizedProps,i.memoizedState=c.memoizedState,i.updateQueue=c.updateQueue,i.type=c.type,e=c.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),o=o.sibling;return Sa(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Je()>Vc&&(t.flags|=128,n=!0,Hs(i,!1),t.lanes=4194304)}else{if(!n)if(null!==(e=ti(c))){if(t.flags|=128,n=!0,null!==(o=e.updateQueue)&&(t.updateQueue=o,t.flags|=4),Hs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!rr)return Ks(t),null}else 2*Je()-i.renderingStartTime>Vc&&1073741824!==o&&(t.flags|=128,n=!0,Hs(i,!1),t.lanes=4194304);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(o=i.last)?o.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,o=ei.current,Sa(ei,n?1&o|2:1&o),t):(Ks(t),null);case 22:case 23:return ml(),n=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==n&&(t.flags|=8192),n&&1&t.mode?!!(1073741824&Pc)&&(Ks(t),6&t.subtreeFlags&&(t.flags|=8192)):Ks(t),null;case 24:case 25:return null}throw Error(r(156,t.tag))}function Ys(e,t){switch(or(t),t.tag){case 1:return Ia(t.type)&&Da(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jr(),za(Aa),za(Oa),ni(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Xr(t),null;case 13:if(za(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(r(340));hr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return za(ei),null;case 4:return Jr(),null;case 10:return Er(t.type._context),null;case 22:case 23:return ml(),null;default:return null}}Ls=function(e,t){for(var o=t.child;null!==o;){if(5===o.tag||6===o.tag)e.appendChild(o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},Ps=function(){},Is=function(e,t,o,n){var a=e.memoizedProps;if(a!==n){e=t.stateNode,Qr(Kr.current);var r,i=null;switch(o){case"input":a=Q(e,a),n=Q(e,n),i=[];break;case"select":a=R({},a,{value:void 0}),n=R({},n,{value:void 0}),i=[];break;case"textarea":a=ne(e,a),n=ne(e,n),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof n.onClick&&(e.onclick=ea)}for(u in ye(o,n),o=null,a)if(!n.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var c=a[u];for(r in c)c.hasOwnProperty(r)&&(o||(o={}),o[r]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in n){var l=n[u];if(c=null!=a?a[u]:void 0,n.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(r in c)!c.hasOwnProperty(r)||l&&l.hasOwnProperty(r)||(o||(o={}),o[r]="");for(r in l)l.hasOwnProperty(r)&&c[r]!==l[r]&&(o||(o={}),o[r]=l[r])}else o||(i||(i=[]),i.push(u,o)),o=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(i=i||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(i=i||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&Bn("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}o&&(i=i||[]).push("style",o);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ds=function(e,t,o,n){o!==n&&(t.flags|=4)};var Qs=!1,Ws=!1,Js="function"==typeof WeakSet?WeakSet:Set,Zs=null;function Xs(e,t){var o=e.ref;if(null!==o)if("function"==typeof o)try{o(null)}catch(o){_l(e,t,o)}else o.current=null}function ec(e,t,o){try{o()}catch(o){_l(e,t,o)}}var tc=!1;function oc(e,t,o){var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var a=n=n.next;do{if((a.tag&e)===e){var r=a.destroy;a.destroy=void 0,void 0!==r&&ec(t,o,r)}a=a.next}while(a!==n)}}function nc(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var o=t=t.next;do{if((o.tag&e)===e){var n=o.create;o.destroy=n()}o=o.next}while(o!==t)}}function ac(e){var t=e.ref;if(null!==t){var o=e.stateNode;e.tag,e=o,"function"==typeof t?t(e):t.current=e}}function rc(e){var t=e.alternate;null!==t&&(e.alternate=null,rc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[da],delete t[ha],delete t[ga],delete t[ba],delete t[ya]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ic(e){return 5===e.tag||3===e.tag||4===e.tag}function sc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ic(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,o){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?8===o.nodeType?o.parentNode.insertBefore(e,t):o.insertBefore(e,t):(8===o.nodeType?(t=o.parentNode).insertBefore(e,o):(t=o).appendChild(e),null!=(o=o._reactRootContainer)||null!==t.onclick||(t.onclick=ea));else if(4!==n&&null!==(e=e.child))for(cc(e,t,o),e=e.sibling;null!==e;)cc(e,t,o),e=e.sibling}function lc(e,t,o){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?o.insertBefore(e,t):o.appendChild(e);else if(4!==n&&null!==(e=e.child))for(lc(e,t,o),e=e.sibling;null!==e;)lc(e,t,o),e=e.sibling}var uc=null,mc=!1;function pc(e,t,o){for(o=o.child;null!==o;)dc(e,t,o),o=o.sibling}function dc(e,t,o){if(rt&&"function"==typeof rt.onCommitFiberUnmount)try{rt.onCommitFiberUnmount(at,o)}catch(e){}switch(o.tag){case 5:Ws||Xs(o,t);case 6:var n=uc,a=mc;uc=null,pc(e,t,o),mc=a,null!==(uc=n)&&(mc?(e=uc,o=o.stateNode,8===e.nodeType?e.parentNode.removeChild(o):e.removeChild(o)):uc.removeChild(o.stateNode));break;case 18:null!==uc&&(mc?(e=uc,o=o.stateNode,8===e.nodeType?la(e.parentNode,o):1===e.nodeType&&la(e,o),Vt(e)):la(uc,o.stateNode));break;case 4:n=uc,a=mc,uc=o.stateNode.containerInfo,mc=!0,pc(e,t,o),uc=n,mc=a;break;case 0:case 11:case 14:case 15:if(!Ws&&null!==(n=o.updateQueue)&&null!==(n=n.lastEffect)){a=n=n.next;do{var r=a,i=r.destroy;r=r.tag,void 0!==i&&(2&r||4&r)&&ec(o,t,i),a=a.next}while(a!==n)}pc(e,t,o);break;case 1:if(!Ws&&(Xs(o,t),"function"==typeof(n=o.stateNode).componentWillUnmount))try{n.props=o.memoizedProps,n.state=o.memoizedState,n.componentWillUnmount()}catch(e){_l(o,t,e)}pc(e,t,o);break;case 21:pc(e,t,o);break;case 22:1&o.mode?(Ws=(n=Ws)||null!==o.memoizedState,pc(e,t,o),Ws=n):pc(e,t,o);break;default:pc(e,t,o)}}function hc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var o=e.stateNode;null===o&&(o=e.stateNode=new Js),t.forEach(function(t){var n=El.bind(null,e,t);o.has(t)||(o.add(t),t.then(n,n))})}}function fc(e,t){var o=t.deletions;if(null!==o)for(var n=0;n<o.length;n++){var a=o[n];try{var i=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,mc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,mc=!0;break e}c=c.return}if(null===uc)throw Error(r(160));dc(i,s,a),uc=null,mc=!1;var l=a.alternate;null!==l&&(l.return=null),a.return=null}catch(e){_l(a,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var o=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fc(t,e),bc(e),4&n){try{oc(3,e,e.return),nc(3,e)}catch(t){_l(e,e.return,t)}try{oc(5,e,e.return)}catch(t){_l(e,e.return,t)}}break;case 1:fc(t,e),bc(e),512&n&&null!==o&&Xs(o,o.return);break;case 5:if(fc(t,e),bc(e),512&n&&null!==o&&Xs(o,o.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(t){_l(e,e.return,t)}}if(4&n&&null!=(a=e.stateNode)){var i=e.memoizedProps,s=null!==o?o.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===i.type&&null!=i.name&&J(a,i),ke(c,s);var u=ke(c,i);for(s=0;s<l.length;s+=2){var m=l[s],p=l[s+1];"style"===m?ge(a,p):"dangerouslySetInnerHTML"===m?me(a,p):"children"===m?pe(a,p):k(a,m,p,u)}switch(c){case"input":Z(a,i);break;case"textarea":re(a,i);break;case"select":var d=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var h=i.value;null!=h?oe(a,!!i.multiple,h,!1):d!==!!i.multiple&&(null!=i.defaultValue?oe(a,!!i.multiple,i.defaultValue,!0):oe(a,!!i.multiple,i.multiple?[]:"",!1))}a[ha]=i}catch(t){_l(e,e.return,t)}}break;case 6:if(fc(t,e),bc(e),4&n){if(null===e.stateNode)throw Error(r(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(t){_l(e,e.return,t)}}break;case 3:if(fc(t,e),bc(e),4&n&&null!==o&&o.memoizedState.isDehydrated)try{Vt(t.containerInfo)}catch(t){_l(e,e.return,t)}break;case 4:default:fc(t,e),bc(e);break;case 13:fc(t,e),bc(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||(Uc=Je())),4&n&&hc(e);break;case 22:if(m=null!==o&&null!==o.memoizedState,1&e.mode?(Ws=(u=Ws)||m,fc(t,e),Ws=u):fc(t,e),bc(e),8192&n){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!m&&1&e.mode)for(Zs=e,m=e.child;null!==m;){for(p=Zs=m;null!==Zs;){switch(h=(d=Zs).child,d.tag){case 0:case 11:case 14:case 15:oc(4,d,d.return);break;case 1:Xs(d,d.return);var f=d.stateNode;if("function"==typeof f.componentWillUnmount){n=d,o=d.return;try{t=n,f.props=t.memoizedProps,f.state=t.memoizedState,f.componentWillUnmount()}catch(e){_l(n,o,e)}}break;case 5:Xs(d,d.return);break;case 22:if(null!==d.memoizedState){wc(p);continue}}null!==h?(h.return=d,Zs=h):wc(p)}m=m.sibling}e:for(m=null,p=e;;){if(5===p.tag){if(null===m){m=p;try{a=p.stateNode,u?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(c=p.stateNode,s=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=fe("display",s))}catch(t){_l(e,e.return,t)}}}else if(6===p.tag){if(null===m)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(t){_l(e,e.return,t)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;m===p&&(m=null),p=p.return}m===p&&(m=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:fc(t,e),bc(e),4&n&&hc(e);case 21:}}function bc(e){var t=e.flags;if(2&t){try{e:{for(var o=e.return;null!==o;){if(ic(o)){var n=o;break e}o=o.return}throw Error(r(160))}switch(n.tag){case 5:var a=n.stateNode;32&n.flags&&(pe(a,""),n.flags&=-33),lc(e,sc(e),a);break;case 3:case 4:var i=n.stateNode.containerInfo;cc(e,sc(e),i);break;default:throw Error(r(161))}}catch(t){_l(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yc(e,t,o){Zs=e,kc(e,t,o)}function kc(e,t,o){for(var n=!!(1&e.mode);null!==Zs;){var a=Zs,r=a.child;if(22===a.tag&&n){var i=null!==a.memoizedState||Qs;if(!i){var s=a.alternate,c=null!==s&&null!==s.memoizedState||Ws;s=Qs;var l=Ws;if(Qs=i,(Ws=c)&&!l)for(Zs=a;null!==Zs;)c=(i=Zs).child,22===i.tag&&null!==i.memoizedState?xc(a):null!==c?(c.return=i,Zs=c):xc(a);for(;null!==r;)Zs=r,kc(r,t,o),r=r.sibling;Zs=a,Qs=s,Ws=l}vc(e)}else 8772&a.subtreeFlags&&null!==r?(r.return=a,Zs=r):vc(e)}}function vc(e){for(;null!==Zs;){var t=Zs;if(8772&t.flags){var o=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ws||nc(5,t);break;case 1:var n=t.stateNode;if(4&t.flags&&!Ws)if(null===o)n.componentDidMount();else{var a=t.elementType===t.type?o.memoizedProps:os(t.type,o.memoizedProps);n.componentDidUpdate(a,o.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Fr(t,i,n);break;case 3:var s=t.updateQueue;if(null!==s){if(o=null,null!==t.child)switch(t.child.tag){case 5:case 1:o=t.child.stateNode}Fr(t,s,o)}break;case 5:var c=t.stateNode;if(null===o&&4&t.flags){o=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&o.focus();break;case"img":l.src&&(o.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var m=u.memoizedState;if(null!==m){var p=m.dehydrated;null!==p&&Vt(p)}}}break;default:throw Error(r(163))}Ws||512&t.flags&&ac(t)}catch(e){_l(t,t.return,e)}}if(t===e){Zs=null;break}if(null!==(o=t.sibling)){o.return=t.return,Zs=o;break}Zs=t.return}}function wc(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var o=t.sibling;if(null!==o){o.return=t.return,Zs=o;break}Zs=t.return}}function xc(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var o=t.return;try{nc(4,t)}catch(e){_l(t,o,e)}break;case 1:var n=t.stateNode;if("function"==typeof n.componentDidMount){var a=t.return;try{n.componentDidMount()}catch(e){_l(t,a,e)}}var r=t.return;try{ac(t)}catch(e){_l(t,r,e)}break;case 5:var i=t.return;try{ac(t)}catch(e){_l(t,i,e)}}}catch(e){_l(t,t.return,e)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var jc,_c=Math.ceil,Cc=v.ReactCurrentDispatcher,zc=v.ReactCurrentOwner,Sc=v.ReactCurrentBatchConfig,Ec=0,Oc=null,Ac=null,Lc=0,Pc=0,Ic=Ca(0),Dc=0,Nc=null,Tc=0,Rc=0,Mc=0,$c=null,Bc=null,Uc=0,Vc=1/0,qc=null,Fc=!1,Hc=null,Kc=null,Gc=!1,Yc=null,Qc=0,Wc=0,Jc=null,Zc=-1,Xc=0;function el(){return 6&Ec?Je():-1!==Zc?Zc:Zc=Je()}function tl(e){return 1&e.mode?2&Ec&&0!==Lc?Lc&-Lc:null!==gr.transition?(0===Xc&&(Xc=ft()),Xc):0!==(e=kt)?e:e=void 0===(e=window.event)?16:Wt(e.type):1}function ol(e,t,o,n){if(50<Wc)throw Wc=0,Jc=null,Error(r(185));bt(e,o,n),2&Ec&&e===Oc||(e===Oc&&(!(2&Ec)&&(Rc|=o),4===Dc&&sl(e,Lc)),nl(e,n),1===o&&0===Ec&&!(1&t.mode)&&(Vc=Je()+500,Ba&&qa()))}function nl(e,t){var o=e.callbackNode;!function(e,t){for(var o=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,r=e.pendingLanes;0<r;){var i=31-it(r),s=1<<i,c=a[i];-1===c?0!==(s&o)&&0===(s&n)||(a[i]=dt(s,t)):c<=t&&(e.expiredLanes|=s),r&=~s}}(e,t);var n=pt(e,e===Oc?Lc:0);if(0===n)null!==o&&Ye(o),e.callbackNode=null,e.callbackPriority=0;else if(t=n&-n,e.callbackPriority!==t){if(null!=o&&Ye(o),1===t)0===e.tag?function(e){Ba=!0,Va(e)}(cl.bind(null,e)):Va(cl.bind(null,e)),sa(function(){!(6&Ec)&&qa()}),o=null;else{switch(vt(n)){case 1:o=Xe;break;case 4:o=et;break;case 16:default:o=tt;break;case 536870912:o=nt}o=Ol(o,al.bind(null,e))}e.callbackPriority=t,e.callbackNode=o}}function al(e,t){if(Zc=-1,Xc=0,6&Ec)throw Error(r(327));var o=e.callbackNode;if(xl()&&e.callbackNode!==o)return null;var n=pt(e,e===Oc?Lc:0);if(0===n)return null;if(30&n||0!==(n&e.expiredLanes)||t)t=gl(e,n);else{t=n;var a=Ec;Ec|=2;var i=hl();for(Oc===e&&Lc===t||(qc=null,Vc=Je()+500,pl(e,t));;)try{yl();break}catch(t){dl(e,t)}Sr(),Cc.current=i,Ec=a,null!==Ac?t=0:(Oc=null,Lc=0,t=Dc)}if(0!==t){if(2===t&&0!==(a=ht(e))&&(n=a,t=rl(e,a)),1===t)throw o=Nc,pl(e,0),sl(e,n),nl(e,Je()),o;if(6===t)sl(e,n);else{if(a=e.current.alternate,!(30&n||function(e){for(var t=e;;){if(16384&t.flags){var o=t.updateQueue;if(null!==o&&null!==(o=o.stores))for(var n=0;n<o.length;n++){var a=o[n],r=a.getSnapshot;a=a.value;try{if(!cn(r(),a))return!1}catch(e){return!1}}}if(o=t.child,16384&t.subtreeFlags&&null!==o)o.return=t,t=o;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)||(t=gl(e,n),2===t&&(i=ht(e),0!==i&&(n=i,t=rl(e,i))),1!==t)))throw o=Nc,pl(e,0),sl(e,n),nl(e,Je()),o;switch(e.finishedWork=a,e.finishedLanes=n,t){case 0:case 1:throw Error(r(345));case 2:case 5:wl(e,Bc,qc);break;case 3:if(sl(e,n),(130023424&n)===n&&10<(t=Uc+500-Je())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){el(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=aa(wl.bind(null,e,Bc,qc),t);break}wl(e,Bc,qc);break;case 4:if(sl(e,n),(4194240&n)===n)break;for(t=e.eventTimes,a=-1;0<n;){var s=31-it(n);i=1<<s,(s=t[s])>a&&(a=s),n&=~i}if(n=a,10<(n=(120>(n=Je()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*_c(n/1960))-n)){e.timeoutHandle=aa(wl.bind(null,e,Bc,qc),n);break}wl(e,Bc,qc);break;default:throw Error(r(329))}}}return nl(e,Je()),e.callbackNode===o?al.bind(null,e):null}function rl(e,t){var o=$c;return e.current.memoizedState.isDehydrated&&(pl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=Bc,Bc=o,null!==t&&il(t)),e}function il(e){null===Bc?Bc=e:Bc.push.apply(Bc,e)}function sl(e,t){for(t&=~Mc,t&=~Rc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var o=31-it(t),n=1<<o;e[o]=-1,t&=~n}}function cl(e){if(6&Ec)throw Error(r(327));xl();var t=pt(e,0);if(!(1&t))return nl(e,Je()),null;var o=gl(e,t);if(0!==e.tag&&2===o){var n=ht(e);0!==n&&(t=n,o=rl(e,n))}if(1===o)throw o=Nc,pl(e,0),sl(e,t),nl(e,Je()),o;if(6===o)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,Bc,qc),nl(e,Je()),null}function ll(e,t){var o=Ec;Ec|=1;try{return e(t)}finally{0===(Ec=o)&&(Vc=Je()+500,Ba&&qa())}}function ul(e){null!==Yc&&0===Yc.tag&&!(6&Ec)&&xl();var t=Ec;Ec|=1;var o=Sc.transition,n=kt;try{if(Sc.transition=null,kt=1,e)return e()}finally{kt=n,Sc.transition=o,!(6&(Ec=t))&&qa()}}function ml(){Pc=Ic.current,za(Ic)}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var o=e.timeoutHandle;if(-1!==o&&(e.timeoutHandle=-1,ra(o)),null!==Ac)for(o=Ac.return;null!==o;){var n=o;switch(or(n),n.tag){case 1:null!=(n=n.type.childContextTypes)&&Da();break;case 3:Jr(),za(Aa),za(Oa),ni();break;case 5:Xr(n);break;case 4:Jr();break;case 13:case 19:za(ei);break;case 10:Er(n.type._context);break;case 22:case 23:ml()}o=o.return}if(Oc=e,Ac=e=Il(e.current,null),Lc=Pc=t,Dc=0,Nc=null,Mc=Rc=Tc=0,Bc=$c=null,null!==Pr){for(t=0;t<Pr.length;t++)if(null!==(n=(o=Pr[t]).interleaved)){o.interleaved=null;var a=n.next,r=o.pending;if(null!==r){var i=r.next;r.next=a,n.next=i}o.pending=n}Pr=null}return e}function dl(e,t){for(;;){var o=Ac;try{if(Sr(),ai.current=Zi,ui){for(var n=si.memoizedState;null!==n;){var a=n.queue;null!==a&&(a.pending=null),n=n.next}ui=!1}if(ii=0,li=ci=si=null,mi=!1,pi=0,zc.current=null,null===o||null===o.return){Dc=1,Nc=t,Ac=null;break}e:{var i=e,s=o.return,c=o,l=t;if(t=Lc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,m=c,p=m.tag;if(!(1&m.mode||0!==p&&11!==p&&15!==p)){var d=m.alternate;d?(m.updateQueue=d.updateQueue,m.memoizedState=d.memoizedState,m.lanes=d.lanes):(m.updateQueue=null,m.memoizedState=null)}var h=gs(s);if(null!==h){h.flags&=-257,bs(h,s,c,0,t),1&h.mode&&fs(i,u,t),l=u;var f=(t=h).updateQueue;if(null===f){var g=new Set;g.add(l),t.updateQueue=g}else f.add(l);break e}if(!(1&t)){fs(i,u,t),fl();break e}l=Error(r(426))}else if(rr&&1&c.mode){var b=gs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,c,0,t),fr(ls(l,c));break e}}i=l=ls(l,c),4!==Dc&&(Dc=2),null===$c?$c=[i]:$c.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Vr(i,ds(0,l,t));break e;case 1:c=l;var y=i.type,k=i.stateNode;if(!(128&i.flags||"function"!=typeof y.getDerivedStateFromError&&(null===k||"function"!=typeof k.componentDidCatch||null!==Kc&&Kc.has(k)))){i.flags|=65536,t&=-t,i.lanes|=t,Vr(i,hs(i,c,t));break e}}i=i.return}while(null!==i)}vl(o)}catch(e){t=e,Ac===o&&null!==o&&(Ac=o=o.return);continue}break}}function hl(){var e=Cc.current;return Cc.current=Zi,null===e?Zi:e}function fl(){0!==Dc&&3!==Dc&&2!==Dc||(Dc=4),null===Oc||!(268435455&Tc)&&!(268435455&Rc)||sl(Oc,Lc)}function gl(e,t){var o=Ec;Ec|=2;var n=hl();for(Oc===e&&Lc===t||(qc=null,pl(e,t));;)try{bl();break}catch(t){dl(e,t)}if(Sr(),Ec=o,Cc.current=n,null!==Ac)throw Error(r(261));return Oc=null,Lc=0,Dc}function bl(){for(;null!==Ac;)kl(Ac)}function yl(){for(;null!==Ac&&!Qe();)kl(Ac)}function kl(e){var t=jc(e.alternate,e,Pc);e.memoizedProps=e.pendingProps,null===t?vl(e):Ac=t,zc.current=null}function vl(e){var t=e;do{var o=t.alternate;if(e=t.return,32768&t.flags){if(null!==(o=Ys(o,t)))return o.flags&=32767,void(Ac=o);if(null===e)return Dc=6,void(Ac=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(o=Gs(o,t,Pc)))return void(Ac=o);if(null!==(t=t.sibling))return void(Ac=t);Ac=t=e}while(null!==t);0===Dc&&(Dc=5)}function wl(e,t,o){var n=kt,a=Sc.transition;try{Sc.transition=null,kt=1,function(e,t,o,n){do{xl()}while(null!==Yc);if(6&Ec)throw Error(r(327));o=e.finishedWork;var a=e.finishedLanes;if(null===o)return null;if(e.finishedWork=null,e.finishedLanes=0,o===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var i=o.lanes|o.childLanes;if(function(e,t){var o=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<o;){var a=31-it(o),r=1<<a;t[a]=0,n[a]=-1,e[a]=-1,o&=~r}}(e,i),e===Oc&&(Ac=Oc=null,Lc=0),!(2064&o.subtreeFlags)&&!(2064&o.flags)||Gc||(Gc=!0,Ol(tt,function(){return xl(),null})),i=!!(15990&o.flags),15990&o.subtreeFlags||i){i=Sc.transition,Sc.transition=null;var s=kt;kt=1;var c=Ec;Ec|=4,zc.current=null,function(e,t){if(ta=Ft,hn(e=dn())){if("selectionStart"in e)var o={start:e.selectionStart,end:e.selectionEnd};else e:{var n=(o=(o=e.ownerDocument)&&o.defaultView||window).getSelection&&o.getSelection();if(n&&0!==n.rangeCount){o=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{o.nodeType,i.nodeType}catch(e){o=null;break e}var s=0,c=-1,l=-1,u=0,m=0,p=e,d=null;t:for(;;){for(var h;p!==o||0!==a&&3!==p.nodeType||(c=s+a),p!==i||0!==n&&3!==p.nodeType||(l=s+n),3===p.nodeType&&(s+=p.nodeValue.length),null!==(h=p.firstChild);)d=p,p=h;for(;;){if(p===e)break t;if(d===o&&++u===a&&(c=s),d===i&&++m===n&&(l=s),null!==(h=p.nextSibling))break;d=(p=d).parentNode}p=h}o=-1===c||-1===l?null:{start:c,end:l}}else o=null}o=o||{start:0,end:0}}else o=null;for(oa={focusedElem:e,selectionRange:o},Ft=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var f=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==f){var g=f.memoizedProps,b=f.memoizedState,y=t.stateNode,k=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:os(t.type,g),b);y.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(r(163))}}catch(e){_l(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}f=tc,tc=!1}(e,o),gc(o,e),fn(oa),Ft=!!ta,oa=ta=null,e.current=o,yc(o,e,a),We(),Ec=c,kt=s,Sc.transition=i}else e.current=o;if(Gc&&(Gc=!1,Yc=e,Qc=a),0===(i=e.pendingLanes)&&(Kc=null),function(e){if(rt&&"function"==typeof rt.onCommitFiberRoot)try{rt.onCommitFiberRoot(at,e,void 0,!(128&~e.current.flags))}catch(e){}}(o.stateNode),nl(e,Je()),null!==t)for(n=e.onRecoverableError,o=0;o<t.length;o++)n((a=t[o]).value,{componentStack:a.stack,digest:a.digest});if(Fc)throw Fc=!1,e=Hc,Hc=null,e;!!(1&Qc)&&0!==e.tag&&xl(),1&(i=e.pendingLanes)?e===Jc?Wc++:(Wc=0,Jc=e):Wc=0,qa()}(e,t,o,n)}finally{Sc.transition=a,kt=n}return null}function xl(){if(null!==Yc){var e=vt(Qc),t=Sc.transition,o=kt;try{if(Sc.transition=null,kt=16>e?16:e,null===Yc)var n=!1;else{if(e=Yc,Yc=null,Qc=0,6&Ec)throw Error(r(331));var a=Ec;for(Ec|=4,Zs=e.current;null!==Zs;){var i=Zs,s=i.child;if(16&Zs.flags){var c=i.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Zs=u;null!==Zs;){var m=Zs;switch(m.tag){case 0:case 11:case 15:oc(8,m,i)}var p=m.child;if(null!==p)p.return=m,Zs=p;else for(;null!==Zs;){var d=(m=Zs).sibling,h=m.return;if(rc(m),m===u){Zs=null;break}if(null!==d){d.return=h,Zs=d;break}Zs=h}}}var f=i.alternate;if(null!==f){var g=f.child;if(null!==g){f.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Zs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Zs=s;else e:for(;null!==Zs;){if(2048&(i=Zs).flags)switch(i.tag){case 0:case 11:case 15:oc(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Zs=y;break e}Zs=i.return}}var k=e.current;for(Zs=k;null!==Zs;){var v=(s=Zs).child;if(2064&s.subtreeFlags&&null!==v)v.return=s,Zs=v;else e:for(s=k;null!==Zs;){if(2048&(c=Zs).flags)try{switch(c.tag){case 0:case 11:case 15:nc(9,c)}}catch(e){_l(c,c.return,e)}if(c===s){Zs=null;break e}var w=c.sibling;if(null!==w){w.return=c.return,Zs=w;break e}Zs=c.return}}if(Ec=a,qa(),rt&&"function"==typeof rt.onPostCommitFiberRoot)try{rt.onPostCommitFiberRoot(at,e)}catch(e){}n=!0}return n}finally{kt=o,Sc.transition=t}}return!1}function jl(e,t,o){e=Br(e,t=ds(0,t=ls(o,t),1),1),t=el(),null!==e&&(bt(e,1,t),nl(e,t))}function _l(e,t,o){if(3===e.tag)jl(e,e,o);else for(;null!==t;){if(3===t.tag){jl(t,e,o);break}if(1===t.tag){var n=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof n.componentDidCatch&&(null===Kc||!Kc.has(n))){t=Br(t,e=hs(t,e=ls(o,e),1),1),e=el(),null!==t&&(bt(t,1,e),nl(t,e));break}}t=t.return}}function Cl(e,t,o){var n=e.pingCache;null!==n&&n.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&o,Oc===e&&(Lc&o)===o&&(4===Dc||3===Dc&&(130023424&Lc)===Lc&&500>Je()-Uc?pl(e,0):Mc|=o),nl(e,t)}function zl(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var o=el();null!==(e=Nr(e,t))&&(bt(e,t,o),nl(e,o))}function Sl(e){var t=e.memoizedState,o=0;null!==t&&(o=t.retryLane),zl(e,o)}function El(e,t){var o=0;switch(e.tag){case 13:var n=e.stateNode,a=e.memoizedState;null!==a&&(o=a.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(r(314))}null!==n&&n.delete(t),zl(e,o)}function Ol(e,t){return Ge(e,t)}function Al(e,t,o,n){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ll(e,t,o,n){return new Al(e,t,o,n)}function Pl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Il(e,t){var o=e.alternate;return null===o?((o=Ll(e.tag,t,e.key,e.mode)).elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=t,o.type=e.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=14680064&e.flags,o.childLanes=e.childLanes,o.lanes=e.lanes,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,t=e.dependencies,o.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o}function Dl(e,t,o,n,a,i){var s=2;if(n=e,"function"==typeof e)Pl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case j:return Nl(o.children,a,i,t);case _:s=8,a|=8;break;case C:return(e=Ll(12,o,t,2|a)).elementType=C,e.lanes=i,e;case O:return(e=Ll(13,o,t,a)).elementType=O,e.lanes=i,e;case A:return(e=Ll(19,o,t,a)).elementType=A,e.lanes=i,e;case I:return Tl(o,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case z:s=10;break e;case S:s=9;break e;case E:s=11;break e;case L:s=14;break e;case P:s=16,n=null;break e}throw Error(r(130,null==e?e:typeof e,""))}return(t=Ll(s,o,t,a)).elementType=e,t.type=n,t.lanes=i,t}function Nl(e,t,o,n){return(e=Ll(7,e,n,t)).lanes=o,e}function Tl(e,t,o,n){return(e=Ll(22,e,n,t)).elementType=I,e.lanes=o,e.stateNode={isHidden:!1},e}function Rl(e,t,o){return(e=Ll(6,e,null,t)).lanes=o,e}function Ml(e,t,o){return(t=Ll(4,null!==e.children?e.children:[],e.key,t)).lanes=o,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function $l(e,t,o,n,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Bl(e,t,o,n,a,r,i,s,c){return e=new $l(e,t,o,s,c),1===t?(t=1,!0===r&&(t|=8)):t=0,r=Ll(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:n,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},Rr(r),e}function Ul(e){if(!e)return Ea;e:{if(Ve(e=e._reactInternals)!==e||1!==e.tag)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ia(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(r(171))}if(1===e.tag){var o=e.type;if(Ia(o))return Ta(e,o,t)}return t}function Vl(e,t,o,n,a,r,i,s,c){return(e=Bl(o,n,!0,e,0,r,0,s,c)).context=Ul(null),o=e.current,(r=$r(n=el(),a=tl(o))).callback=null!=t?t:null,Br(o,r,a),e.current.lanes=a,bt(e,a,n),nl(e,n),e}function ql(e,t,o,n){var a=t.current,r=el(),i=tl(a);return o=Ul(o),null===t.context?t.context=o:t.pendingContext=o,(t=$r(r,i)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),null!==(e=Br(a,t,i))&&(ol(e,a,i,r),Ur(e,a,i)),i}function Fl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Hl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var o=e.retryLane;e.retryLane=0!==o&&o<t?o:t}}function Kl(e,t){Hl(e,t),(e=e.alternate)&&Hl(e,t)}jc=function(e,t,o){if(null!==e)if(e.memoizedProps!==t.pendingProps||Aa.current)ks=!0;else{if(0===(e.lanes&o)&&!(128&t.flags))return ks=!1,function(e,t,o){switch(t.tag){case 3:Os(t),hr();break;case 5:Zr(t);break;case 1:Ia(t.type)&&Ra(t);break;case 4:Wr(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,a=t.memoizedProps.value;Sa(jr,n._currentValue),n._currentValue=a;break;case 13:if(null!==(n=t.memoizedState))return null!==n.dehydrated?(Sa(ei,1&ei.current),t.flags|=128,null):0!==(o&t.child.childLanes)?Rs(e,t,o):(Sa(ei,1&ei.current),null!==(e=Fs(e,t,o))?e.sibling:null);Sa(ei,1&ei.current);break;case 19:if(n=0!==(o&t.childLanes),128&e.flags){if(n)return Vs(e,t,o);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Sa(ei,ei.current),n)break;return null;case 22:case 23:return t.lanes=0,_s(e,t,o)}return Fs(e,t,o)}(e,t,o);ks=!!(131072&e.flags)}else ks=!1,rr&&1048576&t.flags&&er(t,Ga,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;qs(e,t),e=t.pendingProps;var a=Pa(t,Oa.current);Ar(t,o),a=gi(null,t,n,e,a,o);var i=bi();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ia(n)?(i=!0,Ra(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Rr(t),a.updater=as,t.stateNode=a,a._reactInternals=t,cs(t,n,e,o),t=Es(null,t,n,!0,i,o)):(t.tag=0,rr&&i&&tr(t),vs(null,t,a,o),t=t.child),t;case 16:n=t.elementType;e:{switch(qs(e,t),e=t.pendingProps,n=(a=n._init)(n._payload),t.type=n,a=t.tag=function(e){if("function"==typeof e)return Pl(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===L)return 14}return 2}(n),e=os(n,e),a){case 0:t=zs(null,t,n,e,o);break e;case 1:t=Ss(null,t,n,e,o);break e;case 11:t=ws(null,t,n,e,o);break e;case 14:t=xs(null,t,n,os(n.type,e),o);break e}throw Error(r(306,n,""))}return t;case 0:return n=t.type,a=t.pendingProps,zs(e,t,n,a=t.elementType===n?a:os(n,a),o);case 1:return n=t.type,a=t.pendingProps,Ss(e,t,n,a=t.elementType===n?a:os(n,a),o);case 3:e:{if(Os(t),null===e)throw Error(r(387));n=t.pendingProps,a=(i=t.memoizedState).element,Mr(e,t),qr(t,n,null,o);var s=t.memoizedState;if(n=s.element,i.isDehydrated){if(i={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=As(e,t,n,o,a=ls(Error(r(423)),t));break e}if(n!==a){t=As(e,t,n,o,a=ls(Error(r(424)),t));break e}for(ar=ua(t.stateNode.containerInfo.firstChild),nr=t,rr=!0,ir=null,o=xr(t,null,n,o),t.child=o;o;)o.flags=-3&o.flags|4096,o=o.sibling}else{if(hr(),n===a){t=Fs(e,t,o);break e}vs(e,t,n,o)}t=t.child}return t;case 5:return Zr(t),null===e&&ur(t),n=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,s=a.children,na(n,a)?s=null:null!==i&&na(n,i)&&(t.flags|=32),Cs(e,t),vs(e,t,s,o),t.child;case 6:return null===e&&ur(t),null;case 13:return Rs(e,t,o);case 4:return Wr(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=wr(t,null,n,o):vs(e,t,n,o),t.child;case 11:return n=t.type,a=t.pendingProps,ws(e,t,n,a=t.elementType===n?a:os(n,a),o);case 7:return vs(e,t,t.pendingProps,o),t.child;case 8:case 12:return vs(e,t,t.pendingProps.children,o),t.child;case 10:e:{if(n=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,Sa(jr,n._currentValue),n._currentValue=s,null!==i)if(cn(i.value,s)){if(i.children===a.children&&!Aa.current){t=Fs(e,t,o);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var c=i.dependencies;if(null!==c){s=i.child;for(var l=c.firstContext;null!==l;){if(l.context===n){if(1===i.tag){(l=$r(-1,o&-o)).tag=2;var u=i.updateQueue;if(null!==u){var m=(u=u.shared).pending;null===m?l.next=l:(l.next=m.next,m.next=l),u.pending=l}}i.lanes|=o,null!==(l=i.alternate)&&(l.lanes|=o),Or(i.return,o,t),c.lanes|=o;break}l=l.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(r(341));s.lanes|=o,null!==(c=s.alternate)&&(c.lanes|=o),Or(s,o,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}vs(e,t,a.children,o),t=t.child}return t;case 9:return a=t.type,n=t.pendingProps.children,Ar(t,o),n=n(a=Lr(a)),t.flags|=1,vs(e,t,n,o),t.child;case 14:return a=os(n=t.type,t.pendingProps),xs(e,t,n,a=os(n.type,a),o);case 15:return js(e,t,t.type,t.pendingProps,o);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:os(n,a),qs(e,t),t.tag=1,Ia(n)?(e=!0,Ra(t)):e=!1,Ar(t,o),is(t,n,a),cs(t,n,a,o),Es(null,t,n,!0,e,o);case 19:return Vs(e,t,o);case 22:return _s(e,t,o)}throw Error(r(156,t.tag))};var Gl="function"==typeof reportError?reportError:function(e){console.error(e)};function Yl(e){this._internalRoot=e}function Ql(e){this._internalRoot=e}function Wl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function Xl(e,t,o,n,a){var r=o._reactRootContainer;if(r){var i=r;if("function"==typeof a){var s=a;a=function(){var e=Fl(i);s.call(e)}}ql(t,i,e,a)}else i=function(e,t,o,n,a){if(a){if("function"==typeof n){var r=n;n=function(){var e=Fl(i);r.call(e)}}var i=Vl(t,n,e,0,null,!1,0,"",Zl);return e._reactRootContainer=i,e[fa]=i.current,qn(8===e.nodeType?e.parentNode:e),ul(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof n){var s=n;n=function(){var e=Fl(c);s.call(e)}}var c=Bl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[fa]=c.current,qn(8===e.nodeType?e.parentNode:e),ul(function(){ql(t,c,o,n)}),c}(o,t,e,a,n);return Fl(i)}Ql.prototype.render=Yl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(r(409));ql(e,t,null,null)},Ql.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul(function(){ql(null,e,null,null)}),t[fa]=null}},Ql.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var o=0;o<It.length&&0!==t&&t<It[o].priority;o++);It.splice(o,0,e),0===o&&Rt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var o=mt(t.pendingLanes);0!==o&&(yt(t,1|o),nl(t,Je()),!(6&Ec)&&(Vc=Je()+500,qa()))}break;case 13:ul(function(){var t=Nr(e,1);if(null!==t){var o=el();ol(t,e,1,o)}}),Kl(e,1)}},xt=function(e){if(13===e.tag){var t=Nr(e,134217728);null!==t&&ol(t,e,134217728,el()),Kl(e,134217728)}},jt=function(e){if(13===e.tag){var t=tl(e),o=Nr(e,t);null!==o&&ol(o,e,t,el()),Kl(e,t)}},_t=function(){return kt},Ct=function(e,t){var o=kt;try{return kt=e,t()}finally{kt=o}},xe=function(e,t,o){switch(t){case"input":if(Z(e,o),t=o.name,"radio"===o.type&&null!=t){for(o=e;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<o.length;t++){var n=o[t];if(n!==e&&n.form===e.form){var a=xa(n);if(!a)throw Error(r(90));G(n),Z(n,a)}}}break;case"textarea":re(e,o);break;case"select":null!=(t=o.value)&&oe(e,!!o.multiple,t,!1)}},Ee=ll,Oe=ul;var eu={usingClientEntryPoint:!1,Events:[va,wa,xa,ze,Se,ll]},tu={findFiberByHostInstance:ka,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ou={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:v.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=He(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var nu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!nu.isDisabled&&nu.supportsFiber)try{at=nu.inject(ou),rt=nu}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Wl(t))throw Error(r(200));return function(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==n?null:""+n,children:e,containerInfo:t,implementation:o}}(e,t,null,o)},t.createRoot=function(e,t){if(!Wl(e))throw Error(r(299));var o=!1,n="",a=Gl;return null!=t&&(!0===t.unstable_strictMode&&(o=!0),void 0!==t.identifierPrefix&&(n=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Bl(e,1,!1,null,0,o,0,n,a),e[fa]=t.current,qn(8===e.nodeType?e.parentNode:e),new Yl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(r(188));throw e=Object.keys(e).join(","),Error(r(268,e))}return null===(e=He(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,o){if(!Jl(t))throw Error(r(200));return Xl(null,e,t,!0,o)},t.hydrateRoot=function(e,t,o){if(!Wl(e))throw Error(r(405));var n=null!=o&&o.hydratedSources||null,a=!1,i="",s=Gl;if(null!=o&&(!0===o.unstable_strictMode&&(a=!0),void 0!==o.identifierPrefix&&(i=o.identifierPrefix),void 0!==o.onRecoverableError&&(s=o.onRecoverableError)),t=Vl(t,null,e,1,null!=o?o:null,a,0,i,s),e[fa]=t.current,qn(e),n)for(e=0;e<n.length;e++)a=(a=(o=n[e])._getVersion)(o._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[o,a]:t.mutableSourceEagerHydrationData.push(o,a);return new Ql(t)},t.render=function(e,t,o){if(!Jl(t))throw Error(r(200));return Xl(null,e,t,!1,o)},t.unmountComponentAtNode=function(e){if(!Jl(e))throw Error(r(40));return!!e._reactRootContainer&&(ul(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[fa]=null})}),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,o,n){if(!Jl(o))throw Error(r(200));if(null==e||void 0===e._reactInternals)throw Error(r(38));return Xl(e,t,o,!1,n)},t.version="18.3.1-next-f1338f8080-20240426"},860:(e,t,o)=>{"use strict";e.exports=o(113)},910:e=>{"use strict";e.exports=function e(t){if("number"==typeof t&&isNaN(t))throw new Error("NaN is not allowed");if("number"==typeof t&&!isFinite(t))throw new Error("Infinity is not allowed");return null===t||"object"!=typeof t?JSON.stringify(t):t.toJSON instanceof Function?e(t.toJSON()):Array.isArray(t)?`[${t.reduce((t,o,n)=>`${t}${0===n?"":","}${e(void 0===o||"symbol"==typeof o?null:o)}`,"")}]`:`{${Object.keys(t).sort().reduce((o,n)=>void 0===t[n]||"symbol"==typeof t[n]?o:`${o}${0===o.length?"":","}${e(n)}:${e(t[n])}`,"")}}`}},973:(e,t)=>{"use strict";var o=Symbol.for("react.element"),n=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),d=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function b(e,t,o){this.props=e,this.context=t,this.refs=g,this.updater=o||h}function y(){}function k(e,t,o){this.props=e,this.context=t,this.refs=g,this.updater=o||h}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var v=k.prototype=new y;v.constructor=k,f(v,b.prototype),v.isPureReactComponent=!0;var w=Array.isArray,x=Object.prototype.hasOwnProperty,j={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var a,r={},i=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!_.hasOwnProperty(a)&&(r[a]=t[a]);var c=arguments.length-2;if(1===c)r.children=n;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}if(e&&e.defaultProps)for(a in c=e.defaultProps)void 0===r[a]&&(r[a]=c[a]);return{$$typeof:o,type:e,key:i,ref:s,props:r,_owner:j.current}}function z(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var S=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function O(e,t,a,r,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case o:case n:c=!0}}if(c)return i=i(c=e),e=""===r?"."+E(c,0):r,w(i)?(a="",null!=e&&(a=e.replace(S,"$&/")+"/"),O(i,t,a,"",function(e){return e})):null!=i&&(z(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(S,"$&/")+"/")+e)),t.push(i)),1;if(c=0,r=""===r?".":r+":",w(e))for(var l=0;l<e.length;l++){var u=r+E(s=e[l],l);c+=O(s,t,a,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=O(s=s.value,t,a,u=r+E(s,l++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function A(e,t,o){if(null==e)return e;var n=[],a=0;return O(e,n,"","",function(e){return t.call(o,e,a++)}),n}function L(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},I={transition:null},D={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:I,ReactCurrentOwner:j};function N(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:A,forEach:function(e,t,o){A(e,function(){t.apply(this,arguments)},o)},count:function(e){var t=0;return A(e,function(){t++}),t},toArray:function(e){return A(e,function(e){return e})||[]},only:function(e){if(!z(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=i,t.PureComponent=k,t.StrictMode=r,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.act=N,t.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=f({},e.props),r=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=j.current),void 0!==t.key&&(r=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)x.call(t,l)&&!_.hasOwnProperty(l)&&(a[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}return{$$typeof:o,type:e.type,key:r,ref:i,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=z,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=I.transition;I.transition={};try{e()}finally{I.transition=t}},t.unstable_act=N,t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,o){return P.current.useImperativeHandle(e,t,o)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,o){return P.current.useReducer(e,t,o)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,o){return P.current.useSyncExternalStore(e,t,o)},t.useTransition=function(){return P.current.useTransition()},t.version="18.3.1"}},t={};function o(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,o),r.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{initializeAdUnit:()=>sg});const e=function(e,t){return e===t||e!=e&&t!=t},t=function(t,o){for(var n=t.length;n--;)if(e(t[n][0],o))return n;return-1};var a=Array.prototype.splice;function r(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}r.prototype.clear=function(){this.__data__=[],this.size=0},r.prototype.delete=function(e){var o=this.__data__,n=t(o,e);return!(n<0||(n==o.length-1?o.pop():a.call(o,n,1),--this.size,0))},r.prototype.get=function(e){var o=this.__data__,n=t(o,e);return n<0?void 0:o[n][1]},r.prototype.has=function(e){return t(this.__data__,e)>-1},r.prototype.set=function(e,o){var n=this.__data__,a=t(n,e);return a<0?(++this.size,n.push([e,o])):n[a][1]=o,this};const i=r,s="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const l=s||c||globalThis,u=l.Symbol;var m=Object.prototype,p=m.hasOwnProperty,d=m.toString,h=u?u.toStringTag:void 0;var f=Object.prototype.toString;var g=u?u.toStringTag:void 0;const b=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":g&&g in Object(e)?function(e){var t=p.call(e,h),o=e[h];try{e[h]=void 0;var n=!0}catch(e){}var a=d.call(e);return n&&(t?e[h]=o:delete e[h]),a}(e):function(e){return f.call(e)}(e)},y=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},k=function(e){if(!y(e))return!1;var t=b(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},v=l["__core-js_shared__"];var w,x=(w=/[^.]+$/.exec(v&&v.keys&&v.keys.IE_PROTO||""))?"Symbol(src)_1."+w:"";var j=Function.prototype.toString;const _=function(e){if(null!=e){try{return j.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var C=/^\[object .+?Constructor\]$/,z=Function.prototype,S=Object.prototype,E=z.toString,O=S.hasOwnProperty,A=RegExp("^"+E.call(O).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!y(e)||(t=e,x&&x in t))&&(k(e)?A:C).test(_(e));var t},P=function(e,t){var o=function(e,t){return null==e?void 0:e[t]}(e,t);return L(o)?o:void 0},I=P(l,"Map"),D=P(Object,"create");var N=Object.prototype.hasOwnProperty;var T=Object.prototype.hasOwnProperty;function R(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}R.prototype.clear=function(){this.__data__=D?D(null):{},this.size=0},R.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},R.prototype.get=function(e){var t=this.__data__;if(D){var o=t[e];return"__lodash_hash_undefined__"===o?void 0:o}return N.call(t,e)?t[e]:void 0},R.prototype.has=function(e){var t=this.__data__;return D?void 0!==t[e]:T.call(t,e)},R.prototype.set=function(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=D&&void 0===t?"__lodash_hash_undefined__":t,this};const M=R,$=function(e,t){var o,n,a=e.__data__;return("string"==(n=typeof(o=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==o:null===o)?a["string"==typeof t?"string":"hash"]:a.map};function B(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}B.prototype.clear=function(){this.size=0,this.__data__={hash:new M,map:new(I||i),string:new M}},B.prototype.delete=function(e){var t=$(this,e).delete(e);return this.size-=t?1:0,t},B.prototype.get=function(e){return $(this,e).get(e)},B.prototype.has=function(e){return $(this,e).has(e)},B.prototype.set=function(e,t){var o=$(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this};const U=B;function V(e){var t=this.__data__=new i(e);this.size=t.size}V.prototype.clear=function(){this.__data__=new i,this.size=0},V.prototype.delete=function(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o},V.prototype.get=function(e){return this.__data__.get(e)},V.prototype.has=function(e){return this.__data__.has(e)},V.prototype.set=function(e,t){var o=this.__data__;if(o instanceof i){var n=o.__data__;if(!I||n.length<199)return n.push([e,t]),this.size=++o.size,this;o=this.__data__=new U(n)}return o.set(e,t),this.size=o.size,this};const q=V,F=function(e,t){for(var o=-1,n=null==e?0:e.length;++o<n&&!1!==t(e[o],o,e););return e},H=function(){try{var e=P(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),K=function(e,t,o){"__proto__"==t&&H?H(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o};var G=Object.prototype.hasOwnProperty;const Y=function(t,o,n){var a=t[o];G.call(t,o)&&e(a,n)&&(void 0!==n||o in t)||K(t,o,n)},Q=function(e,t,o,n){var a=!o;o||(o={});for(var r=-1,i=t.length;++r<i;){var s=t[r],c=n?n(o[s],e[s],s,o,e):void 0;void 0===c&&(c=e[s]),a?K(o,s,c):Y(o,s,c)}return o},W=function(e){return null!=e&&"object"==typeof e},J=function(e){return W(e)&&"[object Arguments]"==b(e)};var Z=Object.prototype,X=Z.hasOwnProperty,ee=Z.propertyIsEnumerable;const te=J(function(){return arguments}())?J:function(e){return W(e)&&X.call(e,"callee")&&!ee.call(e,"callee")},oe=Array.isArray;var ne="object"==typeof exports&&exports&&!exports.nodeType&&exports,ae=ne&&"object"==typeof module&&module&&!module.nodeType&&module,re=ae&&ae.exports===ne?l.Buffer:void 0;const ie=(re?re.isBuffer:void 0)||function(){return!1};var se=/^(?:0|[1-9]\d*)$/;const ce=function(e,t){var o=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==o||"symbol"!=o&&se.test(e))&&e>-1&&e%1==0&&e<t},le=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var ue={};ue["[object Float32Array]"]=ue["[object Float64Array]"]=ue["[object Int8Array]"]=ue["[object Int16Array]"]=ue["[object Int32Array]"]=ue["[object Uint8Array]"]=ue["[object Uint8ClampedArray]"]=ue["[object Uint16Array]"]=ue["[object Uint32Array]"]=!0,ue["[object Arguments]"]=ue["[object Array]"]=ue["[object ArrayBuffer]"]=ue["[object Boolean]"]=ue["[object DataView]"]=ue["[object Date]"]=ue["[object Error]"]=ue["[object Function]"]=ue["[object Map]"]=ue["[object Number]"]=ue["[object Object]"]=ue["[object RegExp]"]=ue["[object Set]"]=ue["[object String]"]=ue["[object WeakMap]"]=!1;const me=function(e){return function(t){return e(t)}};var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,de=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=de&&de.exports===pe&&s.process;const fe=function(){try{return de&&de.require&&de.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}();var ge=fe&&fe.isTypedArray;const be=ge?me(ge):function(e){return W(e)&&le(e.length)&&!!ue[b(e)]};var ye=Object.prototype.hasOwnProperty;const ke=function(e,t){var o=oe(e),n=!o&&te(e),a=!o&&!n&&ie(e),r=!o&&!n&&!a&&be(e),i=o||n||a||r,s=i?function(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}(e.length,String):[],c=s.length;for(var l in e)!t&&!ye.call(e,l)||i&&("length"==l||a&&("offset"==l||"parent"==l)||r&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||ce(l,c))||s.push(l);return s};var ve=Object.prototype;const we=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ve)},xe=function(e,t){return function(o){return e(t(o))}},je=xe(Object.keys,Object);var _e=Object.prototype.hasOwnProperty;const Ce=function(e){if(!we(e))return je(e);var t=[];for(var o in Object(e))_e.call(e,o)&&"constructor"!=o&&t.push(o);return t},ze=function(e){return null!=e&&le(e.length)&&!k(e)},Se=function(e){return ze(e)?ke(e):Ce(e)};var Ee=Object.prototype.hasOwnProperty;const Oe=function(e){if(!y(e))return function(e){var t=[];if(null!=e)for(var o in Object(e))t.push(o);return t}(e);var t=we(e),o=[];for(var n in e)("constructor"!=n||!t&&Ee.call(e,n))&&o.push(n);return o},Ae=function(e){return ze(e)?ke(e,!0):Oe(e)};var Le="object"==typeof exports&&exports&&!exports.nodeType&&exports,Pe=Le&&"object"==typeof module&&module&&!module.nodeType&&module,Ie=Pe&&Pe.exports===Le?l.Buffer:void 0,De=Ie?Ie.allocUnsafe:void 0;const Ne=function(e,t){for(var o=-1,n=null==e?0:e.length,a=0,r=[];++o<n;){var i=e[o];t(i,o,e)&&(r[a++]=i)}return r},Te=function(){return[]};var Re=Object.prototype.propertyIsEnumerable,Me=Object.getOwnPropertySymbols;const $e=Me?function(e){return null==e?[]:(e=Object(e),Ne(Me(e),function(t){return Re.call(e,t)}))}:Te,Be=function(e,t){for(var o=-1,n=t.length,a=e.length;++o<n;)e[a+o]=t[o];return e},Ue=xe(Object.getPrototypeOf,Object),Ve=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Be(t,$e(e)),e=Ue(e);return t}:Te,qe=function(e,t,o){var n=t(e);return oe(e)?n:Be(n,o(e))},Fe=function(e){return qe(e,Se,$e)},He=function(e){return qe(e,Ae,Ve)},Ke=P(l,"DataView"),Ge=P(l,"Promise"),Ye=P(l,"Set"),Qe=P(l,"WeakMap");var We="[object Map]",Je="[object Promise]",Ze="[object Set]",Xe="[object WeakMap]",et="[object DataView]",tt=_(Ke),ot=_(I),nt=_(Ge),at=_(Ye),rt=_(Qe),it=b;(Ke&&it(new Ke(new ArrayBuffer(1)))!=et||I&&it(new I)!=We||Ge&&it(Ge.resolve())!=Je||Ye&&it(new Ye)!=Ze||Qe&&it(new Qe)!=Xe)&&(it=function(e){var t=b(e),o="[object Object]"==t?e.constructor:void 0,n=o?_(o):"";if(n)switch(n){case tt:return et;case ot:return We;case nt:return Je;case at:return Ze;case rt:return Xe}return t});const st=it;var ct=Object.prototype.hasOwnProperty;const lt=l.Uint8Array,ut=function(e){var t=new e.constructor(e.byteLength);return new lt(t).set(new lt(e)),t};var mt=/\w*$/;var pt=u?u.prototype:void 0,dt=pt?pt.valueOf:void 0;const ht=function(e,t,o){var n,a,r,i=e.constructor;switch(t){case"[object ArrayBuffer]":return ut(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return function(e,t){var o=t?ut(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}(e,o);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var o=t?ut(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}(e,o);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return(r=new(a=e).constructor(a.source,mt.exec(a))).lastIndex=a.lastIndex,r;case"[object Symbol]":return n=e,dt?Object(dt.call(n)):{}}};var ft=Object.create,gt=function(){function e(){}return function(t){if(!y(t))return{};if(ft)return ft(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}();const bt=gt;var yt=fe&&fe.isMap;const kt=yt?me(yt):function(e){return W(e)&&"[object Map]"==st(e)};var vt=fe&&fe.isSet;const wt=vt?me(vt):function(e){return W(e)&&"[object Set]"==st(e)};var xt="[object Arguments]",jt="[object Function]",_t="[object Object]",Ct={};Ct[xt]=Ct["[object Array]"]=Ct["[object ArrayBuffer]"]=Ct["[object DataView]"]=Ct["[object Boolean]"]=Ct["[object Date]"]=Ct["[object Float32Array]"]=Ct["[object Float64Array]"]=Ct["[object Int8Array]"]=Ct["[object Int16Array]"]=Ct["[object Int32Array]"]=Ct["[object Map]"]=Ct["[object Number]"]=Ct[_t]=Ct["[object RegExp]"]=Ct["[object Set]"]=Ct["[object String]"]=Ct["[object Symbol]"]=Ct["[object Uint8Array]"]=Ct["[object Uint8ClampedArray]"]=Ct["[object Uint16Array]"]=Ct["[object Uint32Array]"]=!0,Ct["[object Error]"]=Ct[jt]=Ct["[object WeakMap]"]=!1;const zt=function e(t,o,n,a,r,i){var s,c=1&o,l=2&o,u=4&o;if(n&&(s=r?n(t,a,r,i):n(t)),void 0!==s)return s;if(!y(t))return t;var m=oe(t);if(m){if(s=function(e){var t=e.length,o=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(o.index=e.index,o.input=e.input),o}(t),!c)return function(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o<n;)t[o]=e[o];return t}(t,s)}else{var p=st(t),d=p==jt||"[object GeneratorFunction]"==p;if(ie(t))return function(e,t){if(t)return e.slice();var o=e.length,n=De?De(o):new e.constructor(o);return e.copy(n),n}(t,c);if(p==_t||p==xt||d&&!r){if(s=l||d?{}:function(e){return"function"!=typeof e.constructor||we(e)?{}:bt(Ue(e))}(t),!c)return l?function(e,t){return Q(e,Ve(e),t)}(t,function(e,t){return e&&Q(t,Ae(t),e)}(s,t)):function(e,t){return Q(e,$e(e),t)}(t,function(e,t){return e&&Q(t,Se(t),e)}(s,t))}else{if(!Ct[p])return r?t:{};s=ht(t,p,c)}}i||(i=new q);var h=i.get(t);if(h)return h;i.set(t,s),wt(t)?t.forEach(function(a){s.add(e(a,o,n,a,t,i))}):kt(t)&&t.forEach(function(a,r){s.set(r,e(a,o,n,r,t,i))});var f=m?void 0:(u?l?He:Fe:l?Ae:Se)(t);return F(f||t,function(a,r){f&&(a=t[r=a]),Y(s,r,e(a,o,n,r,t,i))}),s};function St(e){if(e.success)return e.response;throw new Error(e.errorMessage)}const Et=function(){const e=new Map;return new Proxy({},{get(t,o){if("string"!=typeof o)return;const n=o;return e.has(n)||e.set(n,function(e,t){return function(...o){let n;n=1===o.length?o[0]:void 0,"firefox@getdirecto.com"===chrome.runtime.id&&void 0!==n&&(n=zt(n,5));const a={serverId:e,handlerId:t,...void 0!==n?{payload:n}:{}};return chrome.runtime.sendMessage(a).then(St)}}("DIRECTO_CORE_BACKGROUND",n)),e.get(n)}})}();function Ot(e){throw new Error(`Non-never value at runtime: ${e}`)}function At(e,t,o,n){void 0===o?e.searchParams[n](t,"undefined"):null===o?e.searchParams[n](t,"null"):"boolean"==typeof o?e.searchParams[n](t,o?"true":"false"):"number"==typeof o?e.searchParams[n](t,o.toString(10)):"string"==typeof o?e.searchParams[n](t,o):"object"==typeof o?e.searchParams[n](t,JSON.stringify(o)):Ot(o)}class Lt extends Error{source;constructor(e,t){super(e),this.name="ApiError",this.source=t}}class Pt extends Lt{constructor(e){super(`Fetch error: ${e.message}`,e)}}class It extends Lt{status;statusText;response;constructor(e){const{status:t,statusText:o}=e;super(`Status error (${t}): ${o}`),this.status=t,this.statusText=o,this.response=e}}class Dt extends Lt{response;constructor(e,t){const[o,n]="string"==typeof t?[t,void 0]:[t.message,t];super(`Response body error: ${o}`,n),this.response=e}}async function Nt(e,t){try{return await fetch(e,t)}catch(e){if(e instanceof TypeError)throw new Pt(e);throw e}}class Tt{body;constructor(e){this.body=e}static Json(e){return new Tt({type:"json",json:e})}static B64JsonLegacy(e){return new Tt({type:"b64json-legacy",json:e})}static B64Json(e){return new Tt({type:"b64json",json:e})}static String(e){return new Tt({type:"string",string:e})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json-legacy":case"string":return"text/plain";case"b64json":return"application/base64+json";default:Ot(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json-legacy":case"b64json":return e=JSON.stringify(this.body.json),function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let o="",n=0;for(;n+2<e.length;n+=3){const a=e[n]<<16|e[n+1]<<8|e[n+2];o+=t[a>>>18&63]+t[a>>>12&63]+t[a>>>6&63]+t[63&a]}if(n<e.length){const a=e[n]<<16|(n+1<e.length?e[n+1]:0)<<8;o+=t[a>>>18&63]+t[a>>>12&63]+(n+1<e.length?t[a>>>6&63]:"=")+"="}return o}((new TextEncoder).encode(e));case"string":return this.body.string;default:Ot(this.body)}var e}}function Rt(e){return new Promise(t=>{setTimeout(t,e)})}function Mt(e){const t=function(e){const t=e.trim();return/^[+-]?\d+$/.test(t)?parseInt(t,10):null}(e);return null===t||t<0?null:t}function $t(e){const t=function(e){const t=parseInt(e,10);return isNaN(t)?null:t}(e);return null===t||t<0?null:t}function Bt(e){return"string"==typeof e?e:"number"==typeof e?e.toString():null}var Ut=Object.prototype.hasOwnProperty;const Vt=function(e){if(null==e)return!0;if(ze(e)&&(oe(e)||"string"==typeof e||"function"==typeof e.splice||ie(e)||be(e)||te(e)))return!e.length;var t=st(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(we(e))return!Ce(e).length;for(var o in e)if(Ut.call(e,o))return!1;return!0};function qt(e){if(function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}(e))return e}function Ft(e,t){const o="function"==typeof t?t:e=>t.test(e),n=Object.keys(e).find(o);if(n)return e[n]}function Ht(e){return JSON.parse(e)}function Kt(e){const t=function(e){return qt(Ht(e))??null}(e);return!t||Vt(t)?null:t}function Gt(e,{backoffMultiplier:t=1,retryAfter:o=null}={}){if(o){const e=function(e){const t=Mt(e);if(null!==t)return 1e3*t;const o=Date.parse(e);return isNaN(o)?null:o-Date.now()}(o);if(null!==e)return Math.max(Math.min(e,1e4),500)}return Math.min(500*Math.pow(2,e),1e4)*t*(1+.1*(2*Math.random()-1))}class Yt{checkContentType(e){return null===this.contentType||(e?.includes(this.contentType)??!1)}}class Qt extends Yt{name="JsonBodyParser";contentType="application/json";async parse(e){try{return e.json()}catch(t){throw new Dt(e,t instanceof Error?t:"Failed to parse JSON")}}}class Wt extends Yt{name="B64JsonBodyParser";contentType="application/base64+json";async parse(e){try{const t=await e.text();return Ht(atob(t))}catch(t){throw new Dt(e,t instanceof Error?t:"Failed to parse Base64 JSON")}}}class Jt extends Yt{name="VoidBodyParser";contentType=null;async parse(e){}}async function Zt(e,t,o,n,a){if(e.status>=200&&e.status<300){const{parser:o,ignoreContentTypeHeader:n=!1}=t??{},a=e.headers.get("Content-Type");if(!n&&!o.checkContentType(a))throw new Dt(e,`Did not expect Content-Type "${a}" for parser ${o.name}`);return await t.parser.parse(e)}if(o>=5)throw new It(e);if(401===e.status&&a)return a(o+1);if(429===e.status||503===e.status){const t=Gt(o+2,{backoffMultiplier:2,retryAfter:e.headers.get("Retry-After")});return await Rt(t),n(o+3)}if(e.status>=400&&e.status<=499)throw new It(e);{const e=Gt(o);return await Rt(e),n(o+1)}}const Xt="unauthenticated";class eo{rootUrl;appVersion;getTruesignToken;injectInto;partnerKey;constructor(e,t){const o=t.getTruesignToken;o&&(this.getTruesignToken=async e=>{try{return await o(e)??Xt}catch{return Xt}}),this.rootUrl=e,this.injectInto=t.injectInto??"query",this.appVersion=t.appVersion,this.partnerKey=t.partnerKey}buildUrl(e){return new URL(`${this.rootUrl}${e}`)}async applyQueryParams(e,t,o){return function(e,t){const o=new URL(e);for(const[e,n]of Object.entries(t))if(Array.isArray(n)){o.searchParams.delete(e);for(const t of n)At(o,e,t,"append")}else At(o,e,n,"set");return o}(e,{...o,..."query"===this.injectInto?{...t?{tsToken:t}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(e,t){const o=new Headers(t);return"headers"===this.injectInto&&(e&&o.set("X-TS-Token",e),this.partnerKey&&o.set("X-Partner-Key",this.partnerKey),o.set("X-App-Version",this.appVersion)),o}async get(e,{params:t={},request:o={},parser:n=new Qt,doNotSendAcceptHeader:a=!1,ignoreContentTypeHeader:r=!1}={}){const i=this.buildUrl(e),s=await(this.getTruesignToken?.(null))??null,c=await this.applyQueryParams(i,s,t),l=await this.applyHeaders(s,o?.headers);return a||!n.contentType||l.has("Accept")||l.set("Accept",n.contentType),this._get(c,0,s,{...o,headers:l},{parser:n,ignoreContentTypeHeader:r})}async _get(e,t,o,n,a){try{return Zt(await Nt(e,{...n,body:void 0,method:"GET"}),a,t,t=>this._get(e,t,o,n,a),this.getTruesignToken?async t=>{const r=await(this.getTruesignToken?.(o))??null,i=await this.applyQueryParams(e,r),s=await this.applyHeaders(r,n.headers);return this._get(i,t,r,{...n,headers:s},a)}:null)}catch(t){throw console.error(`Error on get ${e.origin}${e.pathname}`,t),t}}async post(e,{params:t={},body:o=null,request:n={},parser:a=new Jt,doNotSendAcceptHeader:r=!1,ignoreContentTypeHeader:i=!1}={}){const s=this.buildUrl(e),c=await(this.getTruesignToken?.(null))??null,l=await this.applyQueryParams(s,c,t),u=await this.applyHeaders(c,n?.headers);o&&!u.has("Content-Type")&&u.set("Content-Type",o.getContentType()),r||!a.contentType||u.has("Accept")||u.set("Accept",a.contentType);const m=o?o.getSerialized():null;return this._post(l,m,0,c,{...n,headers:u},{parser:a,ignoreContentTypeHeader:i})}async _post(e,t,o,n,a,r){try{return Zt(await Nt(e,{...a,body:t,method:"POST"}),r,o,o=>this._post(e,t,o,n,a,r),this.getTruesignToken?async o=>{const i=await(this.getTruesignToken?.(n))??null,s=await this.applyQueryParams(e,i),c=await this.applyHeaders(i,a.headers);return this._post(s,t,o,i,{...a,headers:c},r)}:null)}catch(t){throw console.error(`Error on post ${e.origin}${e.pathname}`,t),t}}}class to{apiService=null;rootUrl;options;constructor(e,t){this.rootUrl=e,this.options=t,this.apiService=null}initialize(e){if(this.apiService)throw new Error("APIService already initialized");const t=this.options?.truesignEndpoint;this.apiService=new eo(this.rootUrl,{...this.options,...e,...t?{getTruesignToken:o=>e.getTruesignToken({endpoint:t,knownInvalidToken:o})}:{getTruesignToken:void 0}})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}makeZodOpenApiRouteGet(e){return t=>async o=>this.get().get(e(o.path),{...o.query?{params:o.query}:{},parser:new t})}makeZodOpenApiRoutePost(e,t){return o=>async n=>this.get().post(e(n.path),{...n.query?{params:n.query}:{},...n.body?{body:t(n.body)}:{},parser:new o})}}const oo=new to("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"}),no=new to("https://events.getdirecto.com",{truesignEndpoint:"80298941"});async function ao(e){return await no.get().post("/experiment",{body:Tt.B64JsonLegacy(e)})}no.get.bind(no);const ro=new to("https://metasearch.getdirecto.com",{truesignEndpoint:"1678801807",injectInto:"headers"});ro.get.bind(ro);const io=new to("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"});io.get.bind(io);const so=new to("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"}),co=new to("https://remote-config.getdirecto.com",{injectInto:"headers",truesignEndpoint:"1999655537"});function lo(e,t=Vt,o=10){let n=0;return async function a(...r){const i=await e(...r);return t(i)&&n<=o?(n+=1,await new Promise(e=>setTimeout(e,2**n)),a(...r)):i}}function uo(e,t=2){const o="0".repeat(t)+e;return o.slice(o.length-t,o.length)}co.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}`)(Wt),co.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}/patches`)(Wt);const mo=function(e){return"symbol"==typeof e||W(e)&&"[object Symbol]"==b(e)};var po=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ho=/^\w*$/;const fo=function(e,t){if(oe(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!mo(e))||ho.test(e)||!po.test(e)||null!=t&&e in Object(t)};function go(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var o=function(){var n=arguments,a=t?t.apply(this,n):n[0],r=o.cache;if(r.has(a))return r.get(a);var i=e.apply(this,n);return o.cache=r.set(a,i)||r,i};return o.cache=new(go.Cache||U),o}go.Cache=U;const bo=go;var yo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ko=/\\(\\)?/g;const vo=function(e){var t=bo(e,function(e){return 500===o.size&&o.clear(),e}),o=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(yo,function(e,o,n,a){t.push(n?a.replace(ko,"$1"):o||e)}),t}),wo=function(e,t){for(var o=-1,n=null==e?0:e.length,a=Array(n);++o<n;)a[o]=t(e[o],o,e);return a};var xo=u?u.prototype:void 0,jo=xo?xo.toString:void 0;const _o=function e(t){if("string"==typeof t)return t;if(oe(t))return wo(t,e)+"";if(mo(t))return jo?jo.call(t):"";var o=t+"";return"0"==o&&1/t==-1/0?"-0":o},Co=function(e){return null==e?"":_o(e)},zo=function(e,t){return oe(e)?e:fo(e,t)?[e]:vo(Co(e))},So=function(e){if("string"==typeof e||mo(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},Eo=function(e,t){for(var o=0,n=(t=zo(t,e)).length;null!=e&&o<n;)e=e[So(t[o++])];return o&&o==n?e:void 0},Oo=function(e,t,o){var n=null==e?void 0:Eo(e,t);return void 0===n?o:n},Ao=function(e,t,o){for(var n=-1,a=Object(e),r=o(e),i=r.length;i--;){var s=r[Lo?i:++n];if(!1===t(a[s],s,a))break}return e};var Lo;const Po=function(e,t){return e&&Ao(e,t,Se)},Io=function(e,t){return function(o,n){if(null==o)return o;if(!ze(o))return e(o,n);for(var a=o.length,r=t?a:-1,i=Object(o);(t?r--:++r<a)&&!1!==n(i[r],r,i););return o}}(Po),Do=function(e){return e},No=function(e,t){return(oe(e)?F:Io)(e,"function"==typeof(o=t)?o:Do);var o},To="userLocale";function Ro(){let e;return e=null!=navigator.languages?navigator.languages[0]:navigator.language,e=e.split("-")[0]||e||"en",e}let Mo=null;function $o(){return Mo=Mo||Ro(),Mo}function Bo(e,t=document){let o=null;for(const n of e){const e=t.querySelector(n);if(e){o=e;break}}return o}function Uo(e,t=document){let o=null;for(const n of e){const e=t.querySelectorAll(n);if(e.length){o=e;break}}return o}async function Vo(e,t,o){if(o.signal?.aborted)return;const n=await lo(e=>{const t=Bo(e);return t&&o.getContainer?o.getContainer(t):t},e=>!e)(e);if(o.signal?.aborted)return;if(!n){if(null!==o.retryMs){const n=setTimeout(()=>{Vo(e,t,o)},o.retryMs),a=()=>{o.signal?.removeEventListener("abort",a),clearTimeout(n)};o.signal?.addEventListener("abort",a)}return}const a=await t(n);if(!o.signal?.aborted&&null!==o.checkIntervalMs){const r=setInterval(()=>{n.isConnected||(a?.(),clearInterval(r),Vo(e,t,o))},o.checkIntervalMs),i=()=>{o.signal?.removeEventListener("abort",i),clearInterval(r)};o.signal?.addEventListener("abort",i)}}function qo(){return function(){let e=document.documentElement.lang;return e=e.split("-")[0],e?e.toLowerCase():null}()??Ro()}async function Fo(e,t=10){const o=await lo(Bo,e=>!e||!e.textContent,t)(e);if(!o||!o.textContent)return null;let n;try{n=Ht(o.textContent)}catch(t){return console.error("Error parsing JSON from selectors",e,t),null}const a=qt(n);return!a||Vt(a)?null:a}function Ho(e){return e.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0})}function Ko(e){const t=e.textContent.trim();return""!==t?t:"value"in e&&"string"==typeof e.value?e.value.trim():null}!async function(){const{[To]:e}=await chrome.storage.local.get(To);Mo=e??null}();var Go=o(258),Yo=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,Qo={revert:function(){}},Wo=new Map,Jo=new Set;function Zo(e){var t=Wo.get(e);return t||(t={element:e,attributes:{}},Wo.set(e,t)),t}function Xo(e,t,o,n,a){var r=o(e),i={isDirty:!1,originalValue:r,virtualValue:r,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if("position"!==t||!i._positionTimeout){"position"===t&&(i._positionTimeout=setTimeout(function(){i._positionTimeout=null},1e3));var n=o(e);"position"===t&&n.parentNode===i.virtualValue.parentNode&&n.insertBeforeNode===i.virtualValue.insertBeforeNode||n!==i.virtualValue&&(i.originalValue=n,a(i))}}),mutationRunner:a,setValue:n,getCurrentValue:o};return"position"===t&&e.parentNode?i.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):i.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t)),i}function en(e,t){var o=t.getCurrentValue(t.el);t.virtualValue=e,e&&"string"!=typeof e?o&&e.parentNode===o.parentNode&&e.insertBeforeNode===o.insertBeforeNode||(t.isDirty=!0,vn()):e!==o&&(t.isDirty=!0,vn())}function tn(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),en(function(e){return pn||(pn=document.createElement("div")),pn.innerHTML=e,pn.innerHTML}(t),e)}function on(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(e){return e.mutate(t)}),en(Array.from(t).filter(Boolean).join(" "),e)}function nn(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),en(t,e)}function an(e){var t=e.originalValue;e.mutations.forEach(function(e){var o=function(e){var t=e.parentSelector,o=e.insertBeforeSelector,n=document.querySelector(t);if(!n)return null;var a=o?document.querySelector(o):null;return o&&!a?null:{parentNode:n,insertBeforeNode:a}}(e.mutate());t=o||t}),en(t,e)}var rn=function(e){return e.innerHTML},sn=function(e,t){return e.innerHTML=t};function cn(e){var t=Zo(e);return t.html||(t.html=Xo(e,"html",rn,sn,tn)),t.html}var ln=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},un=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function mn(e){var t=Zo(e);return t.position||(t.position=Xo(e,"position",ln,un,an)),t.position}var pn,dn,hn=function(e,t){return t?e.className=t:e.removeAttribute("class")},fn=function(e){return e.className};function gn(e){var t=Zo(e);return t.classes||(t.classes=Xo(e,"class",fn,hn,on)),t.classes}function bn(e,t){var o,n=Zo(e);return n.attributes[t]||(n.attributes[t]=Xo(e,t,(o=t,function(e){var t;return null!=(t=e.getAttribute(o))?t:null}),function(e){return function(t,o){return null!==o?t.setAttribute(e,o):t.removeAttribute(e)}}(t),nn)),n.attributes[t]}function yn(e,t,o){if(o.isDirty){o.isDirty=!1;var n=o.virtualValue;o.mutations.length||function(e,t){var o,n,a=Wo.get(e);if(a)if("html"===t)null==(o=a.html)||null==(n=o.observer)||n.disconnect(),delete a.html;else if("class"===t){var r,i;null==(r=a.classes)||null==(i=r.observer)||i.disconnect(),delete a.classes}else if("position"===t){var s,c;null==(s=a.position)||null==(c=s.observer)||c.disconnect(),delete a.position}else{var l,u,m;null==(l=a.attributes)||null==(u=l[t])||null==(m=u.observer)||m.disconnect(),delete a.attributes[t]}}(e,t),o.setValue(e,n)}}function kn(e,t){e.html&&yn(t,"html",e.html),e.classes&&yn(t,"class",e.classes),e.position&&yn(t,"position",e.position),Object.keys(e.attributes).forEach(function(o){yn(t,o,e.attributes[o])})}function vn(){Wo.forEach(kn)}function wn(e){if("position"!==e.kind||1!==e.elements.size){var t=new Set(e.elements);document.querySelectorAll(e.selector).forEach(function(o){t.has(o)||(e.elements.add(o),function(e,t){var o=null;"html"===e.kind?o=cn(t):"class"===e.kind?o=gn(t):"attribute"===e.kind?o=bn(t,e.attribute):"position"===e.kind&&(o=mn(t)),o&&(o.mutations.push(e),o.mutationRunner(o))}(e,o))})}}function xn(){Jo.forEach(wn)}function jn(e){return"undefined"==typeof document?Qo:(Jo.add(e),wn(e),{revert:function(){var t;(t=e).elements.forEach(function(e){return function(e,t){var o=null;if("html"===e.kind?o=cn(t):"class"===e.kind?o=gn(t):"attribute"===e.kind?o=bn(t,e.attribute):"position"===e.kind&&(o=mn(t)),o){var n=o.mutations.indexOf(e);-1!==n&&o.mutations.splice(n,1),o.mutationRunner(o)}}(t,e)}),t.elements.clear(),Jo.delete(t)}})}function _n(e,t){return jn({kind:"html",elements:new Set,mutate:t,selector:e})}function Cn(e,t){return jn({kind:"position",elements:new Set,mutate:t,selector:e})}function zn(e,t){return jn({kind:"class",elements:new Set,mutate:t,selector:e})}function Sn(e,t,o){return Yo.test(t)?"class"===t||"className"===t?zn(e,function(e){var t=o(Array.from(e).join(" "));e.clear(),t&&t.split(/\s+/g).filter(Boolean).forEach(function(t){return e.add(t)})}):jn({kind:"attribute",attribute:t,elements:new Set,mutate:o,selector:e}):Qo}"undefined"!=typeof document&&(dn||(dn=new MutationObserver(function(){xn()})),xn(),dn.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}));var En={html:_n,classes:zn,attribute:Sn,position:Cn,declarative:function(e){var t=e.selector,o=e.action,n=e.value,a=e.attribute,r=e.parentSelector,i=e.insertBeforeSelector;if("html"===a){if("append"===o)return _n(t,function(e){return e+(null!=n?n:"")});if("set"===o)return _n(t,function(){return null!=n?n:""})}else if("class"===a){if("append"===o)return zn(t,function(e){n&&e.add(n)});if("remove"===o)return zn(t,function(e){n&&e.delete(n)});if("set"===o)return zn(t,function(e){e.clear(),n&&e.add(n)})}else if("position"===a){if("set"===o&&r)return Cn(t,function(){return{insertBeforeSelector:i,parentSelector:r}})}else{if("append"===o)return Sn(t,a,function(e){return null!==e?e+(null!=n?n:""):null!=n?n:""});if("set"===o)return Sn(t,a,function(){return null!=n?n:""});if("remove"===o)return Sn(t,a,function(){return null})}return Qo}};const On=En;function An(e){let t=2166136261;const o=e.length;for(let n=0;n<o;n++)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return t>>>0}function Ln(e,t,o){return 2===o?An(An(e+t)+"")%1e4/1e4:1===o?An(t+e)%1e3/1e3:null}function Pn(e,t){return e>=t[0]&&e<t[1]}function In(e){try{const t=e.replace(/([^\\])\//g,"$1\\/");return new RegExp(t)}catch(e){return void console.error(e)}}function Dn(e,t,o){try{const n=new URL(e,"https://_");if("regex"===t){const e=In(o);return!!e&&(e.test(n.href)||e.test(n.href.substring(n.origin.length)))}return"simple"===t&&function(e,t){try{const o=new URL(t.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),n=[[e.host,o.host,!1],[e.pathname,o.pathname,!0]];return o.hash&&n.push([e.hash,o.hash,!1]),o.searchParams.forEach((t,o)=>{n.push([e.searchParams.get(o)||"",t,!1])}),!n.some(e=>!function(e,t,o){try{let n=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return o&&(n="\\/?"+n.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+n+"$","i").test(e)}catch(e){return!1}}(e[0],e[1],e[2]))}catch(e){return!1}}(n,o)}catch(e){return!1}}const Nn=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function Tn(e,t,o){if(t=t||"",!(o=o||globalThis.crypto&&globalThis.crypto.subtle))throw new Error("No SubtleCrypto implementation found");try{const n=await o.importKey("raw",Nn(t),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[a,r]=e.split("."),i=await o.decrypt({name:"AES-CBC",iv:Nn(a)},n,Nn(r));return(new TextDecoder).decode(i)}catch(e){throw new Error("Failed to decrypt")}}function Rn(e){return"string"==typeof e?e:JSON.stringify(e)}function Mn(e){"number"==typeof e&&(e+=""),e&&"string"==typeof e||(e="0");const t=e.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return 3===t.length&&t.push("~"),t.map(e=>e.match(/^[0-9]+$/)?e.padStart(5," "):e).join("-")}const $n={};function Bn(e,t){if("$or"in t)return Kn(e,t.$or);if("$nor"in t)return!Kn(e,t.$nor);if("$and"in t)return function(e,t){for(let o=0;o<t.length;o++)if(!Bn(e,t[o]))return!1;return!0}(e,t.$and);if("$not"in t)return!Bn(e,t.$not);for(const[o,n]of Object.entries(t))if(!Vn(n,Un(e,o)))return!1;return!0}function Un(e,t){const o=t.split(".");let n=e;for(let e=0;e<o.length;e++){if(!n||"object"!=typeof n||!(o[e]in n))return null;n=n[o[e]]}return n}function Vn(e,t){if("string"==typeof e)return t+""===e;if("number"==typeof e)return 1*t===e;if("boolean"==typeof e)return!!t===e;if(null===e)return null===t;if(Array.isArray(e)||!qn(e))return JSON.stringify(t)===JSON.stringify(e);for(const o in e)if(!Hn(o,t,e[o]))return!1;return!0}function qn(e){const t=Object.keys(e);return t.length>0&&t.filter(e=>"$"===e[0]).length===t.length}function Fn(e,t){return Array.isArray(e)?e.some(e=>t.includes(e)):t.includes(e)}function Hn(e,t,o){switch(e){case"$veq":return Mn(t)===Mn(o);case"$vne":return Mn(t)!==Mn(o);case"$vgt":return Mn(t)>Mn(o);case"$vgte":return Mn(t)>=Mn(o);case"$vlt":return Mn(t)<Mn(o);case"$vlte":return Mn(t)<=Mn(o);case"$eq":return t===o;case"$ne":return t!==o;case"$lt":return t<o;case"$lte":return t<=o;case"$gt":return t>o;case"$gte":return t>=o;case"$exists":return o?null!=t:null==t;case"$in":return!!Array.isArray(o)&&Fn(t,o);case"$nin":return!!Array.isArray(o)&&!Fn(t,o);case"$not":return!Vn(o,t);case"$size":return!!Array.isArray(t)&&Vn(o,t.length);case"$elemMatch":return function(e,t){if(!Array.isArray(e))return!1;const o=qn(t)?e=>Vn(t,e):e=>Bn(e,t);for(let t=0;t<e.length;t++)if(e[t]&&o(e[t]))return!0;return!1}(t,o);case"$all":if(!Array.isArray(t))return!1;for(let e=0;e<o.length;e++){let n=!1;for(let a=0;a<t.length;a++)if(Vn(o[e],t[a])){n=!0;break}if(!n)return!1}return!0;case"$regex":try{return(n=o,$n[n]||($n[n]=new RegExp(n.replace(/([^\\])\//g,"$1\\/"))),$n[n]).test(t)}catch(e){return!1}case"$type":return function(e){if(null===e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return["string","number","boolean","object","undefined"].includes(t)?t:"unknown"}(t)===o;default:return console.error("Unknown operator: "+e),!1}var n}function Kn(e,t){if(!t.length)return!0;for(let o=0;o<t.length;o++)if(Bn(e,t[o]))return!0;return!1}const Gn={staleTTL:6e4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4},Yn={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource},Qn={fetchFeaturesCall:e=>{let{host:t,clientKey:o,headers:n}=e;return Yn.fetch("".concat(t,"/api/features/").concat(o),{headers:n})},fetchRemoteEvalCall:e=>{let{host:t,clientKey:o,payload:n,headers:a}=e;const r={method:"POST",headers:{"Content-Type":"application/json",...a},body:JSON.stringify(n)};return Yn.fetch("".concat(t,"/api/eval/").concat(o),r)},eventSourceCall:e=>{let{host:t,clientKey:o,headers:n}=e;return n?new Yn.EventSource("".concat(t,"/sub/").concat(o),{headers:n}):new Yn.EventSource("".concat(t,"/sub/").concat(o))},startIdleListener:()=>{let e;if("undefined"==typeof window||"undefined"==typeof document)return;const t=()=>{"visible"===document.visibilityState?(window.clearTimeout(e),ea.forEach(e=>{e&&"idle"===e.state&&da(e)})):"hidden"===document.visibilityState&&(e=window.setTimeout(oa,Gn.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(Yn.localStorage=globalThis.localStorage)}catch(e){}const Wn=new Map;let Jn=!1;const Zn=new Map,Xn=new Map,ea=new Map,ta=new Set;function oa(){ea.forEach(e=>{e&&(e.state="idle",pa(e))})}async function na(){try{if(!Yn.localStorage)return;await Yn.localStorage.setItem(Gn.cacheKey,JSON.stringify(Array.from(Zn.entries())))}catch(e){}}function aa(e){const[t,o]=e.getApiInfo();return"".concat(t,"||").concat(o)}function ra(e){const t=aa(e);if(!e.isRemoteEval())return t;const o=e.getAttributes(),n=e.getCacheKeyAttributes()||Object.keys(e.getAttributes()),a={};n.forEach(e=>{a[e]=o[e]});const r=e.getForcedVariations(),i=e.getUrl();return"".concat(t,"||").concat(JSON.stringify({ca:a,fv:r,url:i}))}function ia(){const e=Array.from(Zn.entries()).map(e=>{let[t,o]=e;return{key:t,staleAt:o.staleAt.getTime()}}).sort((e,t)=>e.staleAt-t.staleAt),t=Math.min(Math.max(0,Zn.size-Gn.maxEntries),Zn.size);for(let o=0;o<t;o++)Zn.delete(e[o].key)}function sa(e,t,o){const n=o.dateUpdated||"",a=new Date(Date.now()+Gn.staleTTL),r=Zn.get(t);if(r&&n&&r.version===n)return r.staleAt=a,void na();Zn.set(t,{data:o,version:n,staleAt:a,sse:ta.has(e)}),ia(),na();const i=Wn.get(e);i&&i.forEach(e=>ca(e,o))}async function ca(e,t){t=await e.decryptPayload(t,void 0,Yn.SubtleCrypto),await e.refreshStickyBuckets(t),e.setExperiments(t.experiments||e.getExperiments()),e.setFeatures(t.features||e.getFeatures())}async function la(e){const{apiHost:t,apiRequestHeaders:o}=e.getApiHosts(),n=e.getClientKey(),a=e.isRemoteEval(),r=aa(e),i=ra(e);let s=Xn.get(i);return s||(s=(a?Qn.fetchRemoteEvalCall({host:t,clientKey:n,payload:{attributes:e.getAttributes(),forcedVariations:e.getForcedVariations(),forcedFeatures:Array.from(e.getForcedFeatures().entries()),url:e.getUrl()},headers:o}):Qn.fetchFeaturesCall({host:t,clientKey:n,headers:o})).then(e=>("enabled"===e.headers.get("x-sse-support")&&ta.add(r),e.json())).then(t=>(sa(r,i,t),ua(e),Xn.delete(i),t)).catch(e=>(Xn.delete(i),Promise.resolve({}))),Xn.set(i,s)),await s}function ua(e){const t=aa(e),o=ra(e),{streamingHost:n,streamingHostRequestHeaders:a}=e.getApiHosts(),r=e.getClientKey();if(Gn.backgroundSync&&ta.has(t)&&Yn.EventSource){if(ea.has(t))return;const e={src:null,host:n,clientKey:r,headers:a,cb:n=>{try{if("features-updated"===n.type){const e=Wn.get(t);e&&e.forEach(e=>{la(e)})}else if("features"===n.type){const e=JSON.parse(n.data);sa(t,o,e)}e.errors=0}catch(t){ma(e)}},errors:0,state:"active"};ea.set(t,e),da(e)}}function ma(e){if("idle"!==e.state&&(e.errors++,e.errors>3||e.src&&2===e.src.readyState)){const t=Math.pow(3,e.errors-3)*(1e3+1e3*Math.random());pa(e),setTimeout(()=>{["idle","active"].includes(e.state)||da(e)},Math.min(t,3e5))}}function pa(e){e.src&&(e.src.onopen=null,e.src.onerror=null,e.src.close(),e.src=null,"active"===e.state&&(e.state="disabled"))}function da(e){e.src=Qn.eventSourceCall({host:e.host,clientKey:e.clientKey,headers:e.headers}),e.state="active",e.src.addEventListener("features",e.cb),e.src.addEventListener("features-updated",e.cb),e.src.onerror=()=>ma(e),e.src.onopen=()=>{e.errors=0}}const ha="undefined"!=typeof window&&"undefined"!=typeof document,fa=function(){let e;try{e="0.32.0"}catch(t){e=""}return e}();class ga{constructor(e){if(e=e||{},this.version=fa,this._ctx=this.context=e,this._renderer=null,this._trackedExperiments=new Set,this._trackedFeatures={},this.debug=!1,this._subscriptions=new Set,this._rtQueue=[],this._rtTimer=0,this.ready=!1,this._assigned=new Map,this._forcedFeatureValues=new Map,this._attributeOverrides={},this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._loadFeaturesCalled=!1,e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch(e){}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");e.features&&(this.ready=!0),ha&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),e.clientKey&&!e.remoteEval&&this._refresh({},!0,!1)}async loadFeatures(e){e&&e.autoRefresh&&(this._ctx.subscribeToChanges=!0),this._loadFeaturesCalled=!0,await this._refresh(e,!0,!0),this._canSubscribe()&&function(e){const t=aa(e),o=Wn.get(t)||new Set;o.add(e),Wn.set(t,o)}(this)}async refreshFeatures(e){await this._refresh(e,!1,!0)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){const e=this._ctx.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(this._ctx.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:this._ctx.apiHostRequestHeaders,streamingHostRequestHeaders:this._ctx.streamingHostRequestHeaders}}getClientKey(){return this._ctx.clientKey||""}isRemoteEval(){return this._ctx.remoteEval||!1}getCacheKeyAttributes(){return this._ctx.cacheKeyAttributes}async _refresh(e,t,o){if(e=e||{},!this._ctx.clientKey)throw new Error("Missing clientKey");await async function(e,t,o,n,a,r){r||(Gn.backgroundSync=!1);const i=await async function(e,t,o,n){const a=aa(e),r=ra(e),i=new Date;await async function(){if(!Jn){Jn=!0;try{if(Yn.localStorage){const e=await Yn.localStorage.getItem(Gn.cacheKey);if(e){const t=JSON.parse(e);t&&Array.isArray(t)&&t.forEach(e=>{let[t,o]=e;Zn.set(t,{...o,staleAt:new Date(o.staleAt)})}),ia()}}}catch(e){}if(!Gn.disableIdleStreams){const e=Qn.startIdleListener();e&&(Qn.stopIdleListener=e)}}}();const s=Zn.get(r);return s&&!n&&(t||s.staleAt>i)?(s.sse&&ta.add(a),s.staleAt<i?la(e):ua(e),s.data):await function(e,t){return new Promise(o=>{let n,a=!1;const r=e=>{a||(a=!0,n&&clearTimeout(n),o(e||null))};t&&(n=setTimeout(()=>r(),t)),e.then(e=>r(e)).catch(()=>r())})}(la(e),o)}(e,n,t,o);a&&i&&await ca(e,i)}(this,e.timeout,e.skipCache||this._ctx.enableDevMode,t,o,!1!==this._ctx.backgroundSync)}_render(){this._renderer&&this._renderer()}setFeatures(e){this._ctx.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,o){const n=await Tn(e,t||this._ctx.decryptionKey,o);this.setFeatures(JSON.parse(n))}setExperiments(e){this._ctx.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,o){const n=await Tn(e,t||this._ctx.decryptionKey,o);this.setExperiments(JSON.parse(n))}async decryptPayload(e,t,o){return e.encryptedFeatures&&(e.features=JSON.parse(await Tn(e.encryptedFeatures,t||this._ctx.decryptionKey,o)),delete e.encryptedFeatures),e.encryptedExperiments&&(e.experiments=JSON.parse(await Tn(e.encryptedExperiments,t||this._ctx.decryptionKey,o)),delete e.encryptedExperiments),e}async setAttributes(e){this._ctx.attributes=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setAttributeOverrides(e){this._attributeOverrides=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setForcedVariations(e){this._ctx.forcedVariations=e||{},this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}setForcedFeatures(e){this._forcedFeatureValues=e,this._render()}async setURL(e){if(this._ctx.url=e,this._ctx.remoteEval)return await this._refreshForRemoteEval(),void this._updateAllAutoExperiments(!0);this._updateAllAutoExperiments(!0)}getAttributes(){return{...this._ctx.attributes,...this._attributeOverrides}}getForcedVariations(){return this._ctx.forcedVariations||{}}getForcedFeatures(){return this._forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._ctx.stickyBucketAssignmentDocs||{}}getUrl(){return this._ctx.url||""}getFeatures(){return this._ctx.features||{}}getExperiments(){return this._ctx.experiments||[]}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}_canSubscribe(){return!1!==this._ctx.backgroundSync&&this._ctx.subscribeToChanges}async _refreshForRemoteEval(){this._ctx.remoteEval&&this._loadFeaturesCalled&&await this._refresh({},!1,!0).catch(()=>{})}getAllResults(){return new Map(this._assigned)}destroy(){var e;this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._trackedFeatures={},this._rtQueue=[],this._rtTimer&&clearTimeout(this._rtTimer),e=this,Wn.forEach(t=>t.delete(e)),ha&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(e=>{e.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){this._ctx.forcedVariations=this._ctx.forcedVariations||{},this._ctx.forcedVariations[e]=t,this._ctx.remoteEval?this._refreshForRemoteEval():(this._updateAllAutoExperiments(),this._render())}run(e){const t=this._run(e,null);return this._fireSubscriptions(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._ctx.experiments?this._ctx.experiments.filter(t=>t.key===e).map(e=>e.manual?this._runAutoExperiment(e):null).filter(e=>null!==e):null}_runAutoExperiment(e,t){const o=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!o)return null;const n=this.run(e),a=JSON.stringify(n.value);if(!t&&n.inExperiment&&o&&o.valueHash===a)return n;if(o&&this._undoActiveAutoExperiment(e),n.inExperiment){const t=this._applyDOMChanges(n.value);t&&this._activeAutoExperiments.set(e,{undo:t,valueHash:a})}return n}_undoActiveAutoExperiment(e){const t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){const t=this._ctx.experiments||[],o=new Set(t);this._activeAutoExperiments.forEach((e,t)=>{o.has(t)||(e.undo(),this._activeAutoExperiments.delete(t))}),t.forEach(t=>{this._runAutoExperiment(t,e)})}_fireSubscriptions(e,t){const o=e.key,n=this._assigned.get(o);n&&n.result.inExperiment===t.inExperiment&&n.result.variationId===t.variationId||(this._assigned.set(o,{experiment:e,result:t}),this._subscriptions.forEach(o=>{try{o(e,t)}catch(e){console.error(e)}}))}_trackFeatureUsage(e,t){if("override"===t.source)return;const o=JSON.stringify(t.value);if(this._trackedFeatures[e]!==o){if(this._trackedFeatures[e]=o,this._ctx.onFeatureUsage)try{this._ctx.onFeatureUsage(e,t)}catch(e){}ha&&window.fetch&&(this._rtQueue.push({key:e,on:t.on}),this._rtTimer||(this._rtTimer=window.setTimeout(()=>{this._rtTimer=0;const e=[...this._rtQueue];this._rtQueue=[],this._ctx.realtimeKey&&window.fetch("https://rt.growthbook.io/?key=".concat(this._ctx.realtimeKey,"&events=").concat(encodeURIComponent(JSON.stringify(e))),{cache:"no-cache",mode:"no-cors"}).catch(()=>{})},this._ctx.realtimeInterval||2e3)))}}_getFeatureResult(e,t,o,n,a,r){const i={value:t,on:!!t,off:!t,source:o,ruleId:n||""};return a&&(i.experiment=a),r&&(i.experimentResult=r),this._trackFeatureUsage(e,i),i}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){const o=this.evalFeature(e).value;return null===o?t:o}feature(e){return this.evalFeature(e)}evalFeature(e){if(this._forcedFeatureValues.has(e))return this._getFeatureResult(e,this._forcedFeatureValues.get(e),"override");if(!this._ctx.features||!this._ctx.features[e])return this._getFeatureResult(e,null,"unknownFeature");const t=this._ctx.features[e];if(t.rules)for(const o of t.rules){if(o.filters&&this._isFilteredOut(o.filters))continue;if("force"in o){if(o.condition&&!this._conditionPasses(o.condition))continue;if(!this._isIncludedInRollout(o.seed||e,o.hashAttribute,this._ctx.stickyBucketService&&!o.disableStickyBucketing?o.fallbackAttribute:void 0,o.range,o.coverage,o.hashVersion))continue;return o.tracks&&o.tracks.forEach(e=>{this._track(e.experiment,e.result)}),this._getFeatureResult(e,o.force,"force",o.id)}if(!o.variations)continue;const t={variations:o.variations,key:o.key||e};"coverage"in o&&(t.coverage=o.coverage),o.weights&&(t.weights=o.weights),o.hashAttribute&&(t.hashAttribute=o.hashAttribute),o.fallbackAttribute&&(t.fallbackAttribute=o.fallbackAttribute),o.disableStickyBucketing&&(t.disableStickyBucketing=o.disableStickyBucketing),void 0!==o.bucketVersion&&(t.bucketVersion=o.bucketVersion),void 0!==o.minBucketVersion&&(t.minBucketVersion=o.minBucketVersion),o.namespace&&(t.namespace=o.namespace),o.meta&&(t.meta=o.meta),o.ranges&&(t.ranges=o.ranges),o.name&&(t.name=o.name),o.phase&&(t.phase=o.phase),o.seed&&(t.seed=o.seed),o.hashVersion&&(t.hashVersion=o.hashVersion),o.filters&&(t.filters=o.filters),o.condition&&(t.condition=o.condition);const n=this._run(t,e);if(this._fireSubscriptions(t,n),n.inExperiment&&!n.passthrough)return this._getFeatureResult(e,n.value,"experiment",o.id,t,n)}return this._getFeatureResult(e,void 0===t.defaultValue?null:t.defaultValue,"defaultValue")}_isIncludedInRollout(e,t,o,n,a,r){if(!n&&void 0===a)return!0;const{hashValue:i}=this._getHashAttribute(t,o);if(!i)return!1;const s=Ln(e,i,r||1);return null!==s&&(n?Pn(s,n):void 0===a||s<=a)}_conditionPasses(e){return Bn(this.getAttributes(),e)}_isFilteredOut(e){return e.some(e=>{const{hashValue:t}=this._getHashAttribute(e.attribute);if(!t)return!0;const o=Ln(e.seed,t,e.hashVersion||2);return null===o||!e.ranges.some(e=>Pn(o,e))})}_run(e,t){const o=e.key,n=e.variations.length;if(n<2)return this._getResult(e,-1,!1,t);if(!1===this._ctx.enabled)return this._getResult(e,-1,!1,t);e=this._mergeOverrides(e);const a=function(e,t,o){if(!t)return null;const n=t.split("?")[1];if(!n)return null;const a=n.replace(/#.*/,"").split("&").map(e=>e.split("=",2)).filter(t=>{let[o]=t;return o===e}).map(e=>{let[,t]=e;return parseInt(t)});return a.length>0&&a[0]>=0&&a[0]<o?a[0]:null}(o,this._getContextUrl(),n);if(null!==a)return this._getResult(e,a,!1,t);if(this._ctx.forcedVariations&&o in this._ctx.forcedVariations){const n=this._ctx.forcedVariations[o];return this._getResult(e,n,!1,t)}if("draft"===e.status||!1===e.active)return this._getResult(e,-1,!1,t);const{hashAttribute:r,hashValue:i}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0);if(!i)return this._getResult(e,-1,!1,t);let s=-1,c=!1,l=!1;if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{variation:t,versionIsBlocked:o}=this._getStickyBucketVariation(e.key,e.bucketVersion,e.minBucketVersion,e.meta);c=t>=0,s=t,l=!!o}if(!c){if(e.filters){if(this._isFilteredOut(e.filters))return this._getResult(e,-1,!1,t)}else if(e.namespace&&!function(e,t){const o=Ln("__"+t[0],e,1);return null!==o&&o>=t[1]&&o<t[2]}(i,e.namespace))return this._getResult(e,-1,!1,t);if(e.include&&!function(e){try{return e()}catch(e){return console.error(e),!1}}(e.include))return this._getResult(e,-1,!1,t);if(e.condition&&!this._conditionPasses(e.condition))return this._getResult(e,-1,!1,t);if(e.groups&&!this._hasGroupOverlap(e.groups))return this._getResult(e,-1,!1,t)}if(e.url&&!this._urlIsValid(e.url))return this._getResult(e,-1,!1,t);if(e.urlPatterns&&!function(e,t){if(!t.length)return!1;let o=!1,n=!1;for(let a=0;a<t.length;a++){const r=Dn(e,t[a].type,t[a].pattern);if(!1===t[a].include){if(r)return!1}else o=!0,r&&(n=!0)}return n||!o}(this._getContextUrl(),e.urlPatterns))return this._getResult(e,-1,!1,t);const u=Ln(e.seed||o,i,e.hashVersion||1);if(null===u)return this._getResult(e,-1,!1,t);if(c||(s=function(e,t){for(let o=0;o<t.length;o++)if(Pn(e,t[o]))return o;return-1}(u,e.ranges||function(e,t,o){(t=void 0===t?1:t)<0?t=0:t>1&&(t=1);const n=(a=e)<=0?[]:new Array(a).fill(1/a);var a;(o=o||n).length!==e&&(o=n);const r=o.reduce((e,t)=>t+e,0);(r<.99||r>1.01)&&(o=n);let i=0;return o.map(e=>{const o=i;return i+=e,[o,o+t*e]})}(n,void 0===e.coverage?1:e.coverage,e.weights))),l)return this._getResult(e,-1,!1,t,void 0,!0);if(s<0)return this._getResult(e,-1,!1,t);if("force"in e)return this._getResult(e,void 0===e.force?-1:e.force,!1,t);if(this._ctx.qaMode)return this._getResult(e,-1,!1,t);if("stopped"===e.status)return this._getResult(e,-1,!1,t);const m=this._getResult(e,s,!0,t,u,c);if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{changed:t,key:o,doc:n}=this._generateStickyBucketAssignmentDoc(r,Rn(i),{[this._getStickyBucketExperimentKey(e.key,e.bucketVersion)]:m.key});t&&(this._ctx.stickyBucketAssignmentDocs=this._ctx.stickyBucketAssignmentDocs||{},this._ctx.stickyBucketAssignmentDocs[o]=n,this._ctx.stickyBucketService.saveAssignments(n))}return this._track(e,m),m}log(e,t){this.debug&&(this._ctx.log?this._ctx.log(e,t):console.log(e,t))}_track(e,t){if(!this._ctx.trackingCallback)return;const o=e.key,n=t.hashAttribute+t.hashValue+o+t.variationId;if(!this._trackedExperiments.has(n)){this._trackedExperiments.add(n);try{this._ctx.trackingCallback(e,t)}catch(e){console.error(e)}}}_mergeOverrides(e){const t=e.key,o=this._ctx.overrides;return o&&o[t]&&"string"==typeof(e=Object.assign({},e,o[t])).url&&(e.url=In(e.url)),e}_getHashAttribute(e,t){let o=e||"id",n="";return this._attributeOverrides[o]?n=this._attributeOverrides[o]:this._ctx.attributes?n=this._ctx.attributes[o]||"":this._ctx.user&&(n=this._ctx.user[o]||""),!n&&t&&(this._attributeOverrides[t]?n=this._attributeOverrides[t]:this._ctx.attributes?n=this._ctx.attributes[t]||"":this._ctx.user&&(n=this._ctx.user[t]||""),n&&(o=t)),{hashAttribute:o,hashValue:n}}_getResult(e,t,o,n,a,r){let i=!0;(t<0||t>=e.variations.length)&&(t=0,i=!1);const{hashAttribute:s,hashValue:c}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),l=e.meta?e.meta[t]:{},u={key:l.key||""+t,featureId:n,inExperiment:i,hashUsed:o,variationId:t,value:e.variations[t],hashAttribute:s,hashValue:c,stickyBucketUsed:!!r};return l.name&&(u.name=l.name),void 0!==a&&(u.bucket=a),l.passthrough&&(u.passthrough=l.passthrough),u}_getContextUrl(){return this._ctx.url||(ha?window.location.href:"")}_urlIsValid(e){const t=this._getContextUrl();if(!t)return!1;const o=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!e.test(t)||!!e.test(o)}_hasGroupOverlap(e){const t=this._ctx.groups||{};for(let o=0;o<e.length;o++)if(t[e[o]])return!0;return!1}_applyDOMChanges(e){if(!ha)return;const t=[];if(e.css){const o=document.createElement("style");o.innerHTML=e.css,document.head.appendChild(o),t.push(()=>o.remove())}if(e.js){const o=document.createElement("script");o.innerHTML=e.js,document.head.appendChild(o),t.push(()=>o.remove())}return e.domMutations&&e.domMutations.forEach(e=>{t.push(On.declarative(e).revert)}),()=>{t.forEach(e=>e())}}_deriveStickyBucketIdentifierAttributes(e){const t=new Set,o=e&&e.features?e.features:this.getFeatures(),n=e&&e.experiments?e.experiments:this.getExperiments();return Object.keys(o).forEach(e=>{const n=o[e];if(n.rules)for(const e of n.rules)e.variations&&(t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute))}),n.map(e=>{t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute)}),Array.from(t)}async refreshStickyBuckets(e){if(this._ctx.stickyBucketService){const t=this._getStickyBucketAttributes(e);this._ctx.stickyBucketAssignmentDocs=await this._ctx.stickyBucketService.getAllAssignments(t)}}_getStickyBucketAssignments(){const e={};return Object.values(this._ctx.stickyBucketAssignmentDocs||{}).forEach(t=>{t.assignments&&Object.assign(e,t.assignments)}),e}_getStickyBucketVariation(e,t,o,n){t=t||0,o=o||0,n=n||[];const a=this._getStickyBucketExperimentKey(e,t),r=this._getStickyBucketAssignments();if(o>0)for(let t=0;t<=o;t++)if(void 0!==r[this._getStickyBucketExperimentKey(e,t)])return{variation:-1,versionIsBlocked:!0};const i=r[a];if(void 0===i)return{variation:-1};const s=n.findIndex(e=>e.key===i);return s<0?{variation:-1}:{variation:s}}_getStickyBucketExperimentKey(e,t){return t=t||0,"".concat(e,"__").concat(t)}_getStickyBucketAttributes(e){const t={};return this._ctx.stickyBucketIdentifierAttributes=this._ctx.stickyBucketIdentifierAttributes?this._ctx.stickyBucketIdentifierAttributes:this._deriveStickyBucketIdentifierAttributes(e),this._ctx.stickyBucketIdentifierAttributes.forEach(e=>{const{hashValue:o}=this._getHashAttribute(e);t[e]=Rn(o)}),t}_generateStickyBucketAssignmentDoc(e,t,o){const n="".concat(e,"||").concat(t),a=this._ctx.stickyBucketAssignmentDocs&&this._ctx.stickyBucketAssignmentDocs[n]&&this._ctx.stickyBucketAssignmentDocs[n].assignments||{},r={...a,...o};return{key:n,doc:{attributeName:e,attributeValue:t,assignments:r},changed:JSON.stringify(a)!==JSON.stringify(r)}}}const ba="directoUserId",ya="directoUserEmail",ka="local";let va="";async function wa(){if(va)return va;const{[ba]:e}=await chrome.storage[ka].get(ba);return va=e||"",va}let xa="";async function ja(){if(xa)return xa;const{[ya]:e}=await chrome.storage[ka].get(ya);return xa=e||"",xa}async function _a(e,t){return{user_id:await wa(),experiment_id:e,variation_id:t,url_visited:window.location.href}}const Ca=["experiment","defaultValue"];let za=null;function Sa(){if(za)return za;const e=new ga({apiHost:"https://cdn.growthbook.io",clientKey:"sdk-9jiRKLpeCAeQD7C",enableDevMode:!1,subscribeToChanges:!0,trackingCallback:async(e,t)=>{await ao(await _a(e.key,t.key))}});return za=Object.assign(e,{async getFeature(t){if((await Et.getConfig()).partnerKey)return{key:t,value:!1,ruleId:"partner-default-off",on:!1,off:!0,source:"force"};const o=await Et.getGrowthbookFeature(t);if(o)return"experiment"===o?.source&&await ao(await _a(o.key,o?.experimentResult?.key??"0")),o;await e.loadFeatures();const n=e.evalFeature(t);return n&&Ca.includes(n.source)&&await Et.setGrowthbookFeature({key:t,...n}),n}}),za}async function Ea(e){return"function"==typeof e?await e():e}class Oa{platform;provider;constructor(e,t){this.platform=e,this.provider=t}async getQueryParam(e,t=window.location.href){const o=new URL(t);return Ea((await this.getQueryParamMap(o))[e])}}class Aa{year;month;day;constructor(e,t,o){this.year=e,this.month=t,this.day=o}static unsafe_new(e,t,o){if(isNaN(e)||isNaN(t)||isNaN(o))throw new Error(`Invalid date: ${e}-${t}-${o}`);const n=new Aa(e,t,o),a=n.unsafe_toDate();if(isNaN(a.getTime())||a.getFullYear()!==e||a.getMonth()+1!==t||a.getDate()!==o)throw new Error(`Invalid date: ${e}-${t}-${o}`);return n}static new(e,t,o){try{return Aa.unsafe_new(e,t,o)}catch{return null}}static today(){return Aa.unsafe_fromDate(new Date)}static unsafe_fromRaw(e){return Aa.unsafe_new(e.year,e.month,e.day)}static fromRaw(e){return Aa.new(e.year,e.month,e.day)}static unsafe_fromDate(e){if(isNaN(e.getTime()))throw new Error("Invalid Date object");return Aa.unsafe_new(e.getFullYear(),e.getMonth()+1,e.getDate())}static fromDate(e){try{return Aa.unsafe_fromDate(e)}catch{return null}}static tryFromSlashDDMMYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!t)return null;const{dd:o,mm:n,yy:a}=t.groups;return Aa.new(2e3+parseInt(a,10),parseInt(n,10),parseInt(o,10))}static tryFromSlashDMY(e){const t=e.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!t)return null;const{d:o,m:n,y:a}=t.groups;return Aa.new(2e3+parseInt(a,10),parseInt(n,10),parseInt(o,10))}static tryFromDashYYYYMMDD(e){const t=e.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!t)return null;const{yyyy:o,mm:n,dd:a}=t.groups;return Aa.new(parseInt(o,10),parseInt(n,10),parseInt(a,10))}static tryFromDashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!t)return null;const{dd:o,mm:n,yyyy:a}=t.groups;return Aa.new(parseInt(a,10),parseInt(n,10),parseInt(o,10))}static tryFromSlashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:o,mm:n,dd:a}=t.groups;return Aa.new(parseInt(o,10),parseInt(n,10),parseInt(a,10))}static tryFromSlashMMDDYYYY(e){const t=e.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:o,mm:n,dd:a}=t.groups;return Aa.new(parseInt(o,10),parseInt(n,10),parseInt(a,10))}toDashYYYYMMDD(){return`${uo(this.year,4)}-${uo(this.month)}-${uo(this.day)}`}unsafe_toDate(){return function(e,t,o){const n=new Date;return n.setFullYear(e,t,o),n.setHours(0,0,0,0),n}(this.year,this.month-1,this.day)}}function La(e,t){const o=new Date(e);return o.setDate(e.getDate()+t),o}function Pa(e){if(!e)return null;const t=new Date(e);if(!isNaN(t.getTime()))return`${t.getFullYear()}-${uo(t.getUTCMonth()+1)}-${uo(t.getUTCDate())}`;const o=e?.split("/");return 3===o?.length?`${2===o[2].length?`20${o[2]}`:o[2]}-${uo(o[1])}-${uo(o[0])}`:e}function Ia(e){if(!e)return null;if(e.includes("-")){if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(e)){const[t,o,n]=e.split("-");return`${t}-${uo(o)}-${uo(n)}`}if(/^\d{1,2}-\d{1,2}-\d{2,4}$/.test(e)){const[t,o,n]=e.split("-");return`${2===n.length?"20":""}${n}-${uo(o)}-${uo(t)}`}return null}if(/^\d{8}$/.test(e))return`${e.substring(0,4)}-${e.substring(4,6)}-${e.substring(6,8)}`;if(e.includes("/")){const[t,o,n]=e.split("/");return t&&o&&n?`${2===n.length?"20":""}${n}-${uo(o)}-${uo(t)}`:null}return null}function Da(e){return e.toISOString().split("T")[0]}function Na(e){return e.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function Ta(e){return`(${e})`}class Ra extends Oa{async maybeOpenTab(){const e=await this.getDestination();if(!e)return;const t=await this.getQueryParam("checkin");if(!t)return;const[o,n,a,r]=await Promise.all([this.getQueryParam("checkout"),this.getQueryParam("adults"),this.getQueryParam("children"),this.getQueryParam("currency")]),i=o??function(e){const t=new Date(e.year,e.month-1,e.day+1);return Aa.unsafe_fromDate(t)}(t),{partnerKey:s}=await Et.getConfig();let c=this.provider;const l=await Sa().getFeature("booking-com-crosssell-hotel-provider");"BOOKING"===c&&l.off&&(c="KAYAK"),await Et.openHotelsCrossSellTab({provider:c,sourceUrl:window.location.href,trackingLabel:this.platform,partnerKey:s??null,destination:e,checkin:t,checkout:i,adults:n,children:a,currency:r})}}class Ma extends Ra{async handleSearchClick(){await Et.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checked})}async maybeOpenTab(){await Et.getCrossSellWasChecked({crossSellId:this.platform})&&await super.maybeOpenTab()}}class $a extends Ra{async handleSearchClick(){this.checked&&await super.maybeOpenTab()}}const Ba="EUR",Ua=1e3;function Va(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var qa,Fa;const Ha=Va(function(){if(Fa)return qa;Fa=1;const e=2147483647,t=36,o=/^xn--/,n=/[^\0-\x7F]/,a=/[\x2E\u3002\uFF0E\uFF61]/g,r={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},i=Math.floor,s=String.fromCharCode;function c(e){throw new RangeError(r[e])}function l(e,t){const o=e.split("@");let n="";o.length>1&&(n=o[0]+"@",e=o[1]);const r=function(e,t){const o=[];let n=e.length;for(;n--;)o[n]=t(e[n]);return o}((e=e.replace(a,".")).split("."),t).join(".");return n+r}function u(e){const t=[];let o=0;const n=e.length;for(;o<n;){const a=e.charCodeAt(o++);if(a>=55296&&a<=56319&&o<n){const n=e.charCodeAt(o++);56320==(64512&n)?t.push(((1023&a)<<10)+(1023&n)+65536):(t.push(a),o--)}else t.push(a)}return t}const m=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:t},p=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},d=function(e,o,n){let a=0;for(e=n?i(e/700):e>>1,e+=i(e/o);e>455;a+=t)e=i(e/35);return i(a+36*e/(e+38))},h=function(o){const n=[],a=o.length;let r=0,s=128,l=72,u=o.lastIndexOf("-");u<0&&(u=0);for(let e=0;e<u;++e)o.charCodeAt(e)>=128&&c("not-basic"),n.push(o.charCodeAt(e));for(let p=u>0?u+1:0;p<a;){const u=r;for(let n=1,s=t;;s+=t){p>=a&&c("invalid-input");const u=m(o.charCodeAt(p++));u>=t&&c("invalid-input"),u>i((e-r)/n)&&c("overflow"),r+=u*n;const d=s<=l?1:s>=l+26?26:s-l;if(u<d)break;const h=t-d;n>i(e/h)&&c("overflow"),n*=h}const h=n.length+1;l=d(r-u,h,0==u),i(r/h)>e-s&&c("overflow"),s+=i(r/h),r%=h,n.splice(r++,0,s)}return String.fromCodePoint(...n)},f=function(o){const n=[],a=(o=u(o)).length;let r=128,l=0,m=72;for(const e of o)e<128&&n.push(s(e));const h=n.length;let f=h;for(h&&n.push("-");f<a;){let a=e;for(const e of o)e>=r&&e<a&&(a=e);const u=f+1;a-r>i((e-l)/u)&&c("overflow"),l+=(a-r)*u,r=a;for(const a of o)if(a<r&&++l>e&&c("overflow"),a===r){let e=l;for(let o=t;;o+=t){const a=o<=m?1:o>=m+26?26:o-m;if(e<a)break;const r=e-a,c=t-a;n.push(s(p(a+r%c,0))),e=i(r/c)}n.push(s(p(e,0))),m=d(l,u,f===h),l=0,++f}++l,++r}return n.join("")};return qa={version:"2.3.1",ucs2:{decode:u,encode:e=>String.fromCodePoint(...e)},decode:h,encode:f,toASCII:function(e){return l(e,function(e){return n.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return l(e,function(e){return o.test(e)?h(e.slice(4).toLowerCase()):e})}}}()),Ka=["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((e,t)=>{const o=t.replace(/^(\*\.|\!)/,""),n=Ha.toASCII(o),a=t.charAt(0);if(e.has(n))throw new Error(`Multiple rules found for ${t} (${n})`);return e.set(n,{rule:t,suffix:o,punySuffix:n,wildcard:"*"===a,exception:"!"===a}),e},new Map),Ga={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},Ya=e=>{if("string"!=typeof e)throw new TypeError("Domain name must be a string.");let t=e.slice(0).toLowerCase();"."===t.charAt(t.length-1)&&(t=t.slice(0,t.length-1));const o=(e=>{const t=Ha.toASCII(e);if(t.length<1)return"DOMAIN_TOO_SHORT";if(t.length>255)return"DOMAIN_TOO_LONG";const o=t.split(".");let n;for(let e=0;e<o.length;++e){if(n=o[e],!n.length)return"LABEL_TOO_SHORT";if(n.length>63)return"LABEL_TOO_LONG";if("-"===n.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===n.charAt(n.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(n))return"LABEL_INVALID_CHARS"}})(t);if(o)return{input:e,error:{message:Ga[o],code:o}};const n={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1},a=t.split(".");if("local"===a[a.length-1])return n;const r=()=>(/xn--/.test(t)&&(n.domain&&(n.domain=Ha.toASCII(n.domain)),n.subdomain&&(n.subdomain=Ha.toASCII(n.subdomain))),n),i=(e=>{const t=Ha.toASCII(e).split(".");for(let e=0;e<t.length;e++){const o=t.slice(e).join("."),n=Ka.get(o);if(n)return n}return null})(t);if(!i)return a.length<2?n:(n.tld=a.pop(),n.sld=a.pop(),n.domain=[n.sld,n.tld].join("."),a.length&&(n.subdomain=a.pop()),r());n.listed=!0;const s=i.suffix.split("."),c=a.slice(0,a.length-s.length);return i.exception&&c.push(s.shift()),n.tld=s.join("."),!c.length||(i.wildcard&&(s.unshift(c.pop()),n.tld=s.join(".")),!c.length)||(n.sld=c.pop(),n.domain=[n.sld,n.tld].join("."),c.length&&(n.subdomain=c.join("."))),r()},Qa={parse:Ya,get:e=>e&&Ya(e).domain||null,isValid:e=>{const t=Ya(e);return!(!t.domain||!t.listed)}};function Wa(e){let t=e.trim();return/^(?:f|ht)tps?\:\/\//.test(t)||(t="http://"+t),new URL(t)}function Ja(e){const t=Qa.get(e);return null!==t?t:(e=e.replace(/^www\./,"")).split(".").slice(-2).join(".")}function Za(e){return e.hostname.replace(/^www\./,"")}function Xa(e){try{return Za("string"==typeof e?Wa(e):e)}catch(t){return console.error("Invalid URL:",e,t),e.toString()}}function er(e){const t=[...e];return t.sort(([e],[t])=>e.localeCompare(t)),t}const tr={en:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Find me accommodation"},"activities":{"explore_activities_with":"Explore activities with ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Compare price","book_with_discount":"Save up to {discount}%","book_with_discount_barcelo":"Get Promo","save":"Save {price}","popover":{"header":{"text":"Official website"},"support_hotel":"Support the property directly","feedback":{"text_checked":"{positiveFeedback}/10 users found a good direct deal","text_unchecked":"Help other travelers find better deals"},"discount":{"text_checked":"Discount detected","text_unchecked":"Price discount detected"},"coupon":{"text_checked":"Coupon found"}}},"offers":{"best_offer":"Best offer with","save":"Save {price}","no_discount":"Alternative offer with {provider}","empty":"You\'re viewing the best offer!","popover":{"header":{"text":"Book with"}}},"label":{"own_ota_tooltip":"Check Directo Deal","tooltip":"Official website found","coupon_tooltip":"Coupon found","discount_tooltip":"Better price found","score_tooltip":"Popular deal found","high_score_tooltip":"Very popular deal found"},"direct_price_tracker":{"saving_label":"Save <strong>{amount}</strong> vs {platform}","span_title":"Price checked just now"}}'),es:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Buscar alojamiento"},"activities":{"explore_activities_with":"Explora actividades con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar precio","book_with_discount":"Ahorra hasta {discount}%","book_with_discount_barcelo":"Ver promo","save":"Ahorra {price}","popover":{"header":{"text":"Sitio oficial"},"support_hotel":"Apoya al alojamiento directamente","feedback":{"text_checked":"{positiveFeedback}/10 usuarios encontraron una buena oferta directa","text_unchecked":"Ayuda a otros viajeros a encontrar mejores ofertas"},"discount":{"text_checked":"Descuento detectado","text_unchecked":"Descuento en precio detectado"},"coupon":{"text_checked":"Cupón encontrado"}}},"offers":{"best_offer":"La mejor oferta con","save":"Ahorra {price}","no_discount":"Oferta alternativa con {provider}","empty":"¡Estás viendo la mejor oferta!","popover":{"header":{"text":"Reserva con"}}},"label":{"own_ota_tooltip":"Ver oferta en Directo","tooltip":"Sitio oficial encontrado","coupon_tooltip":"Cupón encontrado","discount_tooltip":"Mejor precio encontrado","score_tooltip":"Oferta popular encontrada","high_score_tooltip":"Oferta muy popular encontrada"},"direct_price_tracker":{"saving_label":"Ahorras <strong>{amount}</strong> vs {platform}","span_title":"Precio verificado ahora"}}'),fr:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trouver un hébergement"},"activities":{"explore_activities_with":"Découvrez des activités avec ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparer les prix","book_with_discount":"Économisez jusqu\'à {discount}%","book_with_discount_barcelo":"Voir la promo","save":"Économisez {price}","popover":{"header":{"text":"Site officiel"},"support_hotel":"Soutenez le bien directement","feedback":{"text_checked":"{positiveFeedback}/10 utilisateurs ont trouvé une bonne offre directe","text_unchecked":"Aidez d\'autres voyageurs à trouver de meilleures offres"},"discount":{"text_checked":"Réduction détectée","text_unchecked":"Réduction de prix détectée"},"coupon":{"text_checked":"Coupon trouvé"}}},"offers":{"best_offer":"La meilleure offre avec","save":"Économisez {price}","no_discount":"Offre alternative avec {provider}","empty":"Vous consultez la meilleure offre!","popover":{"header":{"text":"Réservez avec"}}},"label":{"own_ota_tooltip":"Voir l\'offre sur Directo","tooltip":"Site web officiel trouvé","coupon_tooltip":"Coupon trouvé","discount_tooltip":"Meilleur prix trouvé","score_tooltip":"Offre populaire trouvée","high_score_tooltip":"Offre très populaire trouvée"},"direct_price_tracker":{"saving_label":"Vous économisez <strong>{amount}</strong> vs {platform}","span_title":"Prix vérifié à l\'instant"}}'),it:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trova un alloggio"},"activities":{"explore_activities_with":"Esplora le attività con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Confronta il prezzo","book_with_discount":"Risparmia fino al {discount}%","book_with_discount_barcelo":"Vedi la promo","save":"Risparmia {price}","popover":{"header":{"text":"Sito ufficiale"},"support_hotel":"Supporta l\'alojamento direttamente","feedback":{"text_checked":"{positiveFeedback}/10 utenti hanno trovato una buona offerta diretta","text_unchecked":"Aiuta altri viaggiatori a trovare offerte migliori"},"discount":{"text_checked":"Sconto rilevato","text_unchecked":"Sconto sul prezzo rilevato"},"coupon":{"text_checked":"Coupon trovato"}}},"offers":{"best_offer":"La migliore offerta con","save":"Risparmia {price}","no_discount":"Offerta alternativa con {provider}","empty":"Stai visualizzando la migliore offerta!","popover":{"header":{"text":"Prenota con"}}},"label":{"own_ota_tooltip":"Vedi l\'offerta su Directo","tooltip":"Sito web ufficiale trovato","coupon_tooltip":"Coupon trovato","discount_tooltip":"Prezzo migliore trovato","score_tooltip":"Offerta popolare trovata","high_score_tooltip":"Offerta molto popolare trovata"},"direct_price_tracker":{"saving_label":"Risparmi <strong>{amount}</strong> vs {platform}","span_title":"Prezzo verificato ora"}}'),pt:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Encontre um alojamento"},"activities":{"explore_activities_with":"Explore atividades com a ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar preço","book_with_discount":"Economize até {discount}%","book_with_discount_barcelo":"Ver promoção","save":"Economize {price}","popover":{"header":{"text":"Site oficial"},"support_hotel":"Apoie o alojamento diretamente","feedback":{"text_checked":"{positiveFeedback}/10 usuários encontraram uma boa oferta direta","text_unchecked":"Ajude outros viajantes a encontrar melhores ofertas"},"discount":{"text_checked":"Desconto detectado","text_unchecked":"Desconto no preço detectado"},"coupon":{"text_checked":"Cupom encontrado"}}},"offers":{"best_offer":"A melhor oferta com","save":"Economize {price}","no_discount":"Oferta alternativa com {provider}","empty":"Você está vendo a melhor oferta!","popover":{"header":{"text":"Reserve com"}}},"label":{"own_ota_tooltip":"Ver oferta na Directo","tooltip":"Site oficial encontrado","coupon_tooltip":"Cupom encontrado","discount_tooltip":"Melhor preço encontrado","score_tooltip":"Oferta popular","high_score_tooltip":"Oferta muito popular"},"direct_price_tracker":{"saving_label":"Você economiza <strong>{amount}</strong> vs {platform}","span_title":"Preço verificado agora"}}'),de:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Finde mir eine Unterkunft"},"activities":{"explore_activities_with":"Entdecke Aktivitäten mit ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Preis vergleichen","book_with_discount":"Sparen Sie bis zu {discount}%","book_with_discount_barcelo":"Promo erhalten","save":"Sparen Sie {price}","popover":{"header":{"text":"Offizielle Website"},"support_hotel":"Unterstützen Sie die Unterkunft direkt","feedback":{"text_checked":"{positiveFeedback}/10 Nutzer haben ein gutes Direktangebot gefunden","text_unchecked":"Helfen Sie anderen Reisenden, bessere Angebote zu finden"},"discount":{"text_checked":"Rabatt erkannt","text_unchecked":"Preisnachlass erkannt"},"coupon":{"text_checked":"Gutschein gefunden"}}},"offers":{"best_offer":"Bestes Angebot bei","save":"Sparen Sie {price}","no_discount":"Alternatives Angebot von {provider}","empty":"Sie sehen gerade das beste Angebot!","popover":{"header":{"text":"Buchen Sie bei"}}},"label":{"own_ota_tooltip":"Directo-Angebot ansehen","tooltip":"Offizielle Website gefunden","coupon_tooltip":"Gutschein gefunden","discount_tooltip":"Besserer Preis gefunden","score_tooltip":"Beliebtes Angebot gefunden","high_score_tooltip":"Sehr beliebtes Angebot gefunden"},"direct_price_tracker":{"saving_label":"Sparen Sie <strong>{amount}</strong> gegenüber {platform}","span_title":"Preis soeben geprüft"}}')},or=new class{translations;constructor(e){this.translations=e}getLocalisedString(e,t){const o=t&&Object.keys(this.translations).includes(t)?t:$o(),n=`{${e}}`,a=Oo(this.translations,`${o}.${e}`)??Oo(this.translations,`en.${e}`)??n;return"string"!=typeof a?(console.warn(`i18n: The path "${e}" for locale "${o}" does not resolve to a string.`),n):a}translate(e,t,o){const n=this.getLocalisedString(e,o);if(!t)return n;let a=n;return No(t,(e,t)=>{null!=e&&(a=a.replace(`{${t}}`,e.toString()))}),a}}(tr),nr=or.translate.bind(or);async function ar(e,t,o){let n={current:()=>{}};return await Vo(e,e=>{const{abortController:a,triggerOriginalClick:r}=function(e,t,o){const n=new AbortController,a=()=>{const t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});window.__directoSynthetic__=!0,e.dispatchEvent(t)};return e.addEventListener("click",async e=>{if(!(e instanceof MouseEvent&&null!==e.view&&"__directoSynthetic__"in e.view&&"boolean"==typeof e.view.__directoSynthetic__&&e.view.__directoSynthetic__)){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();try{await t()}catch(e){console.error(e)}o.preventOriginalClick||setTimeout(a,100)}},{capture:!0,signal:n.signal}),e.addEventListener("click",()=>{delete window.__directoSynthetic__},{capture:!1,signal:n.signal}),{abortController:n,triggerOriginalClick:a}}(e,t,{preventOriginalClick:o.preventOriginalClick});return n.current=r,()=>{a.abort()}},{retryMs:o.domCheckIntervalMs,checkIntervalMs:o.domCheckIntervalMs}),{triggerOriginalClick:()=>{n.current()}}}var rr=o(746),ir=o(420);class sr{TCheckbox;latestCheckbox=null;constructor(e){this.TCheckbox=e}async inject(e,t){await Vo(e,e=>{let o;switch(this.latestCheckbox?(o=this.latestCheckbox.checked,this.latestCheckbox.$host.remove(),this.latestCheckbox=null):o=!0,this.latestCheckbox=new this.TCheckbox(o),t?.inject){case"append":case void 0:e.append(this.latestCheckbox.$host);break;case"prepend":e.prepend(this.latestCheckbox.$host);break;case"before":e.before(this.latestCheckbox.$host);break;case"after":e.after(this.latestCheckbox.$host);break;default:t?.inject(e,this.latestCheckbox.$host)}return t?.afterInject?.(e,this.latestCheckbox)},{retryMs:Ua,checkIntervalMs:Ua,signal:t?.signal,getContainer:t?.getContainer})}get checked(){return null!==this.latestCheckbox&&this.latestCheckbox.isVisible&&this.latestCheckbox.checked}set checked(e){this.latestCheckbox&&(this.latestCheckbox.checked=e)}}function cr(e){return class{reactShadowDom;visibilityRef;#e;constructor(e){this.reactShadowDom=function(){const e=document.createElement("div");e.style.display="contents";const t=ir.H(e),o=document.createElement("div");return o.style.display="contents",o.attachShadow({mode:"closed"}).appendChild(e),{$root:o,render(e){t.render(e)}}}(),this.visibilityRef={current:null},this.#e=e,this.handleClick=this.handleClick.bind(this),this.render()}render(){this.reactShadowDom.render((0,rr.jsx)(e,{visibilityRef:this.visibilityRef,checked:this.#e,onClick:this.handleClick}))}handleClick(){this.checked=!this.checked}get $host(){return this.reactShadowDom.$root}get checked(){return this.#e}set checked(e){this.#e=e,this.render()}get isVisible(){return!!this.visibilityRef.current&&Ho(this.visibilityRef.current)}}}const lr=new Set(["renfe.com"]);class ur extends $a{checkboxManager=new sr(mr);constructor(){super("RENFE_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return lr.has(e)}async handleCrossSell(){this.injectUI()}injectUI(){this.injectCheckbox(),ar(['button[type="submit"]',".rf-button--primary"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async injectCheckbox(){await Rt(100),this.checkboxManager.inject(["#promotionsv2"],{afterInject(e,t){e.style.display="flex"}})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Bo(["#destination"]);if(!e)return null;const t=Ko(e);if(!t)return null;return`${Na(t).replace(/\(TODAS\)/,"")} Spain`}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bo(["#first-input"]);if(e){const t=Ko(e);if(t){const[e,o]=t.split(",");if(o)return Aa.tryFromSlashDDMMYY(o.trim())}}return null},checkout(){const e=Bo(["#second-input"]);if(e){const t=Ko(e);if(t){const[e,o]=t.split(",");if(o)return Aa.tryFromSlashDDMMYY(o.trim())}}return null},adults(){const e=Bo(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,o,n]=e.value.matchAll(/(\d+)/g);return t?parseInt(t[1]):2}return 2},children(){const e=Bo(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,o,n]=e.value.matchAll(/(\d+)/g);return o?parseInt(o[1]):0}return 0},currency:Ba}}}class mr{$checkboxContainer;$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=qo();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},t)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n display: flex;\n align-items: center;\n font-size: 14px;\n margin-left: 8px;\n color: black;\n }\n\n .dir-checkbox {\n margin-right: 8px;\n }\n\n .dir-checkbox-container {\n align-self: center;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}}const pr=new Set(["skyscanner.com","skyscanner.net","skyscanner.es","skyscanner.fr","skyscanner.it","skyscanner.pt","skyscanner.com.br","skyscanner.co.in","skyscanner.com.mx","skyscanner.de","skyscanner.com","skyscanner.com.au","skyscanner.com.my","skyscanner.co.il","skyscanner.com.ph","skyscanner.co.nz"]);class dr extends $a{checkboxManager=new sr(hr);constructor(){super("SKYSCANNER_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return pr.has(e)}async handleCrossSell(){this.checkboxManager.inject(['[class*="_DestinationInput"] fieldset']),ar(['[data-testid="desktop-cta"]','[data-testid="mobile-cta"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Bo(['input[name="destinationInput-search"]']);return e?Na(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bo(['[data-testid="depart-btn"] [class*="_value_"]']);if(e){const t=Ko(e);if(t)return Aa.tryFromSlashDMY(t)}return null},checkout(){const e=Bo(['[data-testid="return-btn"] [class*="_value_"]']);if(e){const t=Ko(e);if(t)return Aa.tryFromSlashDMY(t)}return null},adults(){const e=Bo(['[data-testid="traveller-button"] [class*="_value_"]']);if(e){const t=e.textContent;if(t){const[e]=t.matchAll(/(\d+)/g);return e?parseInt(e[1]):2}}return 2},children:0,currency:Ba}}}class hr{$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=qo();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-checkbox {\n background-color: #fff;\n -webkit-appearance: none;\n appearance: none;\n border: .1875rem solid #626971;border-radius: .25rem;\n cursor: pointer;\n height: 1.25rem;\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: .125rem;\n vertical-align: text-bottom;\n width: 1.25rem;\n }\n\n .dir-checkbox:checked {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='13' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.354 3.646 5.5 7.5l6-6' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n background-position: .0625rem;\n background-repeat: no-repeat;\n background-size: calc(100% - .15625rem) auto;\n background-color: #0062e3;\n background-color: var(--bpk-checkbox-checked-color, #0062e3);\n border-color: #0062e3;\n border-color: var(--bpk-checkbox-checked-color, #0062e3);\n }\n\n .dir-label {\n margin-bottom: 1rem;\n margin-top: .5rem;\n width: 100%;\n color: #fff;\n display: inline-block;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5rem;\n margin: 0;\n padding-left: 1.75rem;\n position: relative;\n }\n\n .dir-span {\n word-wrap: break-word;\n cursor: pointer;\n -webkit-hyphens: auto;\n hyphens: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n vertical-align: initial;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}}const fr=new Set(["ryanair.com"]);class gr extends Ma{checkboxManager=new sr(br);constructor(){super("RYANAIR_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return fr.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/trip/flights/select")||e.pathname.endsWith("/fare-finder")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".filters-container"]),ar([".flight-search-widget__start-search button"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){return new URL(window.location.href).searchParams.get("destinationIata")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("dateOut");return t?Aa.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("dateIn");return t?Aa.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adults");return t?$t(t)??2:2},children(){const t=e.searchParams.get("teens"),o=e.searchParams.get("children");if(!t&&!o)return 0;const n=parseInt(t??"0",10),a=parseInt(o??"0",10);return Number.isNaN(n)&&Number.isNaN(a)?0:(Number.isNaN(n)?0:n)+(Number.isNaN(a)?0:a)},currency:()=>e.searchParams.get("currency")??Ba}}}class br{$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=/^https?:\/\/(?:www\.)?ryanair\.com\/[^/]+\/([^/]+)/i.exec(location.href),o=t?t[1].toLowerCase():Ro();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},o)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}}const yr=new Set(["latamairlines.com"]);class kr extends Ma{checkboxManager=new sr(vr);constructor(){super("LATAM_AIRLINES_HOTELS","BOOKING")}async shouldActivate(){const e=Za(new URL(window.location.href));return yr.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/es/ofertas-vuelos")||e.pathname.endsWith("/en/flight-offers")||e.pathname.endsWith("/pt/oferta-voos")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="LoyaltyBoxstyles__CheckboxContainer"]']),ar(["button#fsb-search-flights",'button[type="submit"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){return new URL(window.location.href).searchParams.get("destination")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("outbound");if(!t)return null;const[o,n]=t.split("T");return o?Aa.tryFromDashYYYYMMDD(o):null},checkout(){const t=e.searchParams.get("inbound");if(!t)return null;const[o,n]=t.split("T");return o?Aa.tryFromDashYYYYMMDD(o):null},adults(){const t=e.searchParams.get("adt");return t?$t(t)??2:2},children(){const t=e.searchParams.get("chd");return t?$t(t)??0:0},currency(){const e=Bo(['[data-testid="current-currency__name-and-symbol"]']);if(e){const t=e.textContent;if(t){const e=t.match(/^(.+?) · (.+)$/);if(e)return e[1]}}return Ba}}}}class vr{$checkboxContainer;$checkbox;$checkboxIconWrapper;$checkboxIconI;$span;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkboxIconI=document.createElement("i"),this.$checkboxIconI.className="dir-checkbox-icon-i",this.$checkboxIconI.ariaHidden="true",this.$checkboxIconI.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" focusable="false" viewBox="0 0 32 32">\n <path d="M12.57 21.6161L4.38 13.2161L2 15.7186L12.57 26.376L30 8.75351L27.5325 6.37354L12.57 21.6161Z" fill="currentColor"></path>\n </svg>\n ',this.$checkboxIconWrapper=document.createElement("span"),this.$checkboxIconWrapper.className="dir-checkbox-icon-wrapper",this.$checkboxIconWrapper.appendChild(this.$checkboxIconI);const t=qo();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$checkboxIconWrapper),this.$label.appendChild(this.$span),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n * {\n box-sizing: border-box;\n }\n\n .dir-checkbox {\n position: absolute;\n height: 0px;\n width: 0px;\n appearance: none;\n }\n\n .dir-checkbox-container {\n display: inline-block;\n padding: 0.5rem 0px;\n position: relative;\n width: initial;\n }\n\n .dir-label {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n -webkit-box-pack: justify;\n justify-content: space-between;\n pointer-events: initial;\n width: initial;\n align-items: center;\n }\n\n .dir-span {\n display: flex;\n flex-direction: column;\n margin-right: 0px;\n margin-left: 0.5rem;\n text-align: initial;\n }\n\n .dir-checkbox-icon-wrapper {\n --checkbox-size: 1.5rem;\n background: transparent;\n border-radius: 0.25rem;\n border: 2px solid rgb(70, 88, 223);\n cursor: pointer;\n display: inline-flex;\n height: var(--checkbox-size);\n width: var(--checkbox-size);\n flex-shrink: 0;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper {\n background: rgb(70, 88, 223);\n }\n\n .dir-checkbox-icon-wrapper:hover {\n box-shadow: rgb(238, 237, 249) 0px 0px 0px 0.5rem;\n }\n\n .dir-checkbox-icon-i {\n color: rgb(255, 255, 255);\n display: none;\n height: 100%;\n margin: auto;\n width: 100%;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper .dir-checkbox-icon-i {\n display: flex;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}}const wr=new Set(["iberia.com"]);class xr extends Ma{checkboxManagerTab=new sr(jr);checkboxManagerAccordion=new sr(jr);constructor(){super("IBERIA_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return wr.has(e)}async handleCrossSell(){const e=new URL(window.location.href);!e.pathname.endsWith("/flights/")||"1"!==e.searchParams.get("TRIP_TYPE")&&"2"!==e.searchParams.get("TRIP_TYPE")?this.injectUI():this.maybeOpenTab()}async injectUI(){await Rt(500),this.injectCheckbox(["#tab-flights .ibe-searcher__options .ibe-form__radio-group"],this.checkboxManagerTab),this.injectCheckbox(["#m-tab-searcher-1 .ibe-searcher__options"],this.checkboxManagerAccordion),ar(["#buttonSubmit1"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}get checked(){return this.checkboxManagerTab.checked||this.checkboxManagerAccordion.checked}async injectCheckbox(e,t){const o=new AbortController;await t.inject(e,{afterInject:(n,a)=>{const r=()=>{switch(t){case this.checkboxManagerAccordion:this.checkboxManagerTab.checked=a.checked;break;case this.checkboxManagerTab:this.checkboxManagerAccordion.checked=a.checked;break;default:throw new Error("Unrecognized checkbox manager")}};a.addEventListener("change",r);let i=!1;const s=async()=>{i||(i=!0,c(),await this.injectCheckbox(e,t),i=!1)};window.addEventListener("resize",s);const c=()=>{o.abort(),a.removeEventListener("change",r),window.removeEventListener("resize",s)};return c},signal:o.signal})}async getDestination(){return new URL(window.location.href).searchParams.get("END_CITY_01")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("BEGIN_YEAR_01");if(!t)return null;const o=e.searchParams.get("BEGIN_MONTH_01");if(!o)return null;const n=e.searchParams.get("BEGIN_DAY_01");return n?_r(t,o,n):null},checkout(){const t=e.searchParams.get("END_YEAR_01");if(!t)return null;const o=e.searchParams.get("END_MONTH_01");if(!o)return null;const n=e.searchParams.get("END_DAY_01");return n?_r(t,o,n):null},adults(){const t=e.searchParams.get("ADT");return t?$t(t)??2:2},children(){const t=e.searchParams.get("CHD");return t?$t(t)??0:0},currency:Ba}}}class jr{eventTarget=new EventTarget;$checkboxContainer;$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkbox.addEventListener("click",()=>{this.dispatchEvent(new Cr(this.$checkbox.checked))});const t=qo();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent='\n .dir-checkbox {\n margin: 0;\n margin-right: 0.9375rem;\n\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABWSURBVHja7NVBEcBADELRuEYBOnCBrwhgtrcKSPfUyRfwjlBJbJPEKJK2k5RtSd19RnW3JNtFcqy8FskCcD4HYKGFFlrof9C1qb02/rfu6AEAAP//AwC94S6rHK/aNAAAAABJRU5ErkJggg==) no-repeat;\n content: "";\n display: inline-block;\n height: 1.625rem;\n overflow: hidden;\n vertical-align: middle;\n width: 1.625rem;\n margin-top: 0;\n }\n\n .dir-checkbox:checked {\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEDSURBVHjaYvj79++2bdtaW1vLyQKtra3btm37+/cvw7Zt2+bPn//x48f/ZIGPHz/Onz9/27ZtDK2trWSbAjertbWVoby8/D/FoLy8fNQgahv05syZXR6en+7cIdagz/fvf33yBFnk39+/V3p7V8nI7nR1+/P9O7EG7fLwXKuiemfRIgj36+PHe/z8V0hKrdPU+vLwIQlee75//wpJqRWSUvtDw27Pn79WTX2FpNRKKelne/aQHEanS8sgZsHR5a5ucgL799evW8wt4KYcjIr6/+8fmbH26sSJldIyKySlNpua/Xz/nqLof3v+/M1Zs789fz6aRQaVQVQraqlW+FOrOgIMANiB7jjdFd/sAAAAAElFTkSuQmCC) no-repeat;\n }\n\n .dir-label {\n color: #666;\n cursor: pointer;\n font-size: .8125rem;\n display: inline-block;\n }\n\n @media screen and (max-width: 25.999rem) {\n\n .dir-checkbox-container {\n display: block;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 26rem) and (max-width: 29.999rem) {\n\n .dir-checkbox-container {\n display: inline-block;\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 30rem) and (max-width: 47.999rem) {\n }\n\n @media screen and (min-width: 48rem) and (max-width: 63.999rem) {\n\n .dir-checkbox-container {\n margin-left: 1rem;\n display: inline-block;\n }\n }\n\n @media screen and (min-width: 64rem) and (max-width: 79.999rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n\n @media screen and (min-width: 80rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n ',this.$checkboxContainer.appendChild(this.$label),this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}addEventListener(e,t,o){return this.eventTarget.addEventListener(e,t,o)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}removeEventListener(e,t,o){return this.eventTarget.removeEventListener(e,t,o)}}function _r(e,t,o){if(6!==t.length)return null;if(t.slice(0,4)!==e)return null;const n=t.slice(4,6),a=parseInt(e,10);if(Number.isNaN(a))return null;const r=parseInt(n,10);if(Number.isNaN(r))return null;const i=parseInt(o,10);return Number.isNaN(i)?null:Aa.new(a,r,i)}class Cr extends Event{checked;constructor(e){super("change"),this.checked=e}}const zr=new Set(["united.com"]);class Sr extends Ma{checkboxManager=new sr(Er);constructor(){super("UNITED_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return zr.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/fsr/choose-flights")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="app-components-BookFlightForm-bookFlightForm__formHeader--"]']),ar(['[class*="app-components-BookFlightForm-bookFlightForm__findFlightBtn"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){try{const e=new URL(window.location.href).searchParams.get("t");return e?Ta(e):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("d");return t?Aa.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("r");return t?Aa.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("px");if(!t)return 2;const o=t.split(",")[0];return o?Mt(o)??2:2},children(){const t=e.searchParams.get("px");if(!t)return 0;const o=t.split(",")[5];return o?Mt(o)??0:0},currency:Ba}}}class Er{$checkboxInput;$checkboxSvg;$controlDiv;$text;$textDiv;$label;$style;$rootHost;$root;constructor(e){this.$checkboxInput=document.createElement("input"),this.$checkboxInput.className="dir-checkbox-input",this.$checkboxInput.type="checkbox",this.$checkboxInput.checked=e,this.$checkboxSvg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.$checkboxSvg.classList="dir-checkbox-svg",this.$checkboxSvg.setAttribute("viewBox","0 0 24 24"),this.$checkboxSvg.innerHTML='\n <path fill-rule="evenodd" d="M20 0a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Zm-.38 6.32a1 1 0 0 0-1.35.17l-7.11 9.07-5.51-4.23a1 1 0 0 0-1.41.18 1 1 0 0 0 .06 1.3l.09.08 6.23 4.78a.9.9 0 0 0 .52.2 1 1 0 0 0 .93-.35l7.73-9.86a1 1 0 0 0-.16-1.33Z" class="cls-1"/>\n ',this.$controlDiv=document.createElement("div"),this.$controlDiv.className="dir-control-div",this.$controlDiv.appendChild(this.$checkboxInput),this.$controlDiv.appendChild(this.$checkboxSvg);const t=qo();this.$text=document.createTextNode(nr("cross_sell.kayak.find_me_accommodation",{},t)),this.$textDiv=document.createElement("div"),this.$textDiv.className="dir-text-div",this.$textDiv.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$controlDiv),this.$label.appendChild(this.$textDiv),this.$style=document.createElement("style"),this.$style.textContent='\n @media screen and (min-width: 1184px) {\n * {\n scroll-margin-top: 100px;\n }\n }\n\n * {\n scroll-margin-top: 72px;\n\n background-repeat: no-repeat;\n box-sizing: border-box;\n }\n\n .dir-checkbox-input {\n \n margin-right: 10px;\n \n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n border: 2px solid #555;\n border-radius: 4px;\n background-color: rgba(0, 0, 0, 0);\n }\n\n .dir-checkbox-input:checked {\n border: none;\n }\n\n .dir-checkbox-input:focus {\n outline: 4px solid #000;\n outline-offset: 1px;\n }\n\n .dir-checkbox-input:hover, .dir-checkbox-input:focus {\n border-color: #1414d2;\n border-width: 3px;\n }\n\n .dir-checkbox-svg {\n \n width: 20px;\n height: 20px;\n visibility: hidden;\n pointer-events: none;\n \n display: block;\n \n vertical-align: middle;\n fill: currentColor;\n overflow: hidden;\n }\n\n .dir-checkbox-input:checked + .dir-checkbox-svg {\n visibility: visible;\n fill: #1414d2;\n }\n\n .dir-checkbox-input:hover + .dir-checkbox-svg {\n fill: #0d0d8f;\n }\n\n .dir-control-div {\n \n display: block;\n margin-right: .5rem;\n position: relative;\n top: 2px;\n flex: none;\n \n width: 1.25rem;\n height: 1.25rem;\n }\n\n .dir-text-div {\n letter-spacing: normal;\n text-transform: none;\n }\n\n .dir-label {\n visibility: visible;\n text-align: left;\n touch-action: manipulation;\n \n padding: 0;\n \n font-size: .875rem;\n font-weight: 400;\n line-height: 1.7142857143;\n font-family: "NeuePlakTextforUnited-Rg", "Noto Sans", "Arial", sans-serif;\n color: #000;\n display: inline-flex;\n\n \n text-transform: uppercase;\n letter-spacing: 1px;\n\n \n margin-bottom: 14px;\n padding-bottom: .25rem;\n }\n ',this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkboxInput.checked}set checked(e){this.$checkboxInput.checked=e}get isVisible(){return Ho(this.$checkboxInput)}}function Or(e){try{const t=Za(new URL(e));return/^airbnb\.[.a-z]{2,7}/i.exec(t)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(t)?"BOOKING":/^vrbo\.com/i.exec(t)||/^abritel\.fr/i.exec(t)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(t)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(e)?"GOOGLE":null}catch(e){return console.error("Error in getPlatform",e),null}}const Ar=/(www\.)?airbnb\.[.a-z]{2,7}\/rooms\/(plus\/)?(\d+)/i,Lr=/[https:\/\/]*[www]*\.airbnb\..*?\/homes/i,Pr=/[https:\/\/]*[www]*\.airbnb\..*?\/book\/stays/i,Ir=/^(?:https:\/\/)?(?:www\.)?booking\.com\/hotel\/[\w\-\/]*/i,Dr=/^(?:https:\/\/)?(?:www\.)?booking\.com\/searchresults/i,Nr=/^(?:https:\/\/)?secure\.booking\.com\/(?:tpi_)?book(?:\.[a-z]+)?\.html/i,Tr=/^(?:https:\/\/)?secure\.booking\.com\/confirmation\.[^.]+\.html/i,Rr=/(?:www\.)vrbo\.com\/(?:[a-z]{2}-[a-z]{2}\/)?(?:[a-z0-9-]+\/)?p?\d+[a-zA-Z]*/,Mr=/(www\.)?vrbo\.com(\/\w{0,2}-\w{0,2})*\/search/,$r=/[https:\/\/]*[www]*\.vrbo\.com(\/\w{0,2}-\w{0,2})?\/td\/tc\/checkout/,Br=/(www\.)?abritel\.fr\/location-vacances\/(\w*)/,Ur=/(www\.)?abritel\.fr\/search/,Vr=/[https:\/\/]*[www]*\.abritel\.fr\/\/td\/tc\/checkout/,qr=/expedia.[a-z.]{2,7}\/(?:[a-z0-9-]+\/)?[\w-]*?\.h(\d*)\.[\w-]*\??/,Fr=/expedia\.[a-z.]{2,7}\/Hotel-Search/,Hr=/^(?:https?:\/\/)?(?:www\.)?expedia\.[a-z.]{2,7}\/checkout/,Kr=/(?:https?:\/\/)?(?:www\.)?google\.[a-z.]{2,7}\/search\?/;var Gr=Function.prototype,Yr=Object.prototype,Qr=Gr.toString,Wr=Yr.hasOwnProperty,Jr=Qr.call(Object);const Zr=function(e){if(!W(e)||"[object Object]"!=b(e))return!1;var t=Ue(e);if(null===t)return!0;var o=Wr.call(t,"constructor")&&t.constructor;return"function"==typeof o&&o instanceof o&&Qr.call(o)==Jr};function Xr(){return"es"===$o()?"civitatis":"viator"}function ei(e){const t=/(http[s]?:\/\/www\.booking\.com\/[\w\/-]+)\./.exec(e);return(t?t[1]:e).replace(/http[s]?:\/\/www\.booking\.com\/hotel\//,"")}function ti(e){try{const{pathname:t}=new URL(e),o=ei(e.replace(/\.html?[^]*/,""));return t.includes("searchresults")?null:o}catch(e){return console.error(e),null}}class oi extends Oa{checkboxManager=new sr(ni);confirmationInfo=null;constructor(){super("BOOKING_ACTIVITIES",Xr())}async shouldActivate(){return oi.isCheckout(window.location)||oi.isConfirmation(window.location)}static isCheckout(e){return Nr.test(e.href)&&null!==oi.getCheckoutType(e.pathname)}static isConfirmation(e){return Tr.test(e.href)}static getCheckoutType(e){return/\/book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"book":/\/tpi_book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"tpi_book":null}async getConfirmationInfoJson(){if(null!==this.confirmationInfo)return this.confirmationInfo;if(!oi.isConfirmation(window.location))return null;const e=await Fo(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.confirmationInfo=e,this.confirmationInfo}async handleCrossSell(){oi.isConfirmation(window.location)?this.maybeOpenTab():this.injectUI()}injectUI(){const e=oi.getCheckoutType(window.location.pathname);switch(e){case"book":return this.injectBookUI();case"tpi_book":return this.injectTpiBookUI();case null:return;default:Ot(e)}}injectBookUI(){const e=['button[name="book"][class*="complete-booking"]'];this.checkboxManager.inject(e,{inject:"before",getContainer:e=>e.parentElement?.parentElement?.parentElement??null}),ar(e,this.handleSubmitClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}injectTpiBookUI(){const e=['.bp-main-content button[type="submit"]'];this.checkboxManager.inject(e,{inject:"before"}),ar(e,this.handleSubmitClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async handleSubmitClick(){await Et.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checkboxManager.checked})}async maybeOpenTab(){if(!await Et.getCrossSellWasChecked({crossSellId:this.platform}))return;const e=await this.getDestination();if(!e)return;const t=ti(Bo(['[data-c360-id="hotelTitle"] a'])?.getAttribute("href")??""),[o,n,a,r,i]=await Promise.all([super.getQueryParam("checkin"),super.getQueryParam("checkout"),super.getQueryParam("adults"),super.getQueryParam("children"),super.getQueryParam("currency")]);Et.openActivitiesCrossSellTab({provider:Xr(),sourceUrl:window.location.href,destination:e,checkin:o,checkout:n,adults:a,children:r,currency:i,sourceId:t})}async getDestination(){const e=await this.getConfirmationInfoJson();if(!e)return null;const t=Ft(e,e=>e.startsWith("PostBookingProperty:"));if(!Zr(t))return null;if(!("hotelCity"in t))return null;const o=t.hotelCity;if(!Zr(o))return null;const n=o;return"rawValue"in n&&"string"==typeof n.rawValue?n.rawValue:null}async getQueryParamMap(e){const t=await this.getConfirmationInfoJson(),o=t?.body;return{checkin(){const e=o?.trans_checkin;return e&&"string"==typeof e?Aa.fromDate(new Date(e)):Aa.fromDate(new Date)},checkout(){const e=o?.trans_checkout;return e&&"string"==typeof e?Aa.fromDate(new Date(e)):Aa.fromDate(new Date)},adults(){const e=o?.num_adults;return"number"!=typeof e||Number.isNaN(e)?2:e},children(){const e=o?.child_ages;return Array.isArray(e)?e.length:0},currency:()=>"string"!=typeof o?.trans_currencycode?Ba:o?.trans_currencycode}}}class ni{$checkbox;$linkText;$link;$text;$label;$wrapper;$style;$rootHost;$root;constructor(e){const t=qo();this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$text=document.createTextNode(nr("cross_sell.activities.explore_activities_with",{},t));const o=Xr();this.$linkText=document.createTextNode(nr(`cross_sell.activities.${o}`,{},t)),this.$link=document.createElement("a"),this.$link.href=function(e){switch(e){case"viator":return(()=>{const e=new URL("/","https://www.viator.com");return e.searchParams.append("pid","P00253809"),e.searchParams.append("mcid","42383"),e.searchParams.append("medium","link"),e.toString()})();case"civitatis":return(()=>{const e=new URL("/","https://www.civitatis.com");return e.searchParams.append("aid","110241"),e.toString()})();default:Ot(e)}}(o),this.$link.target="_blank",this.$link.rel="noopener noreferrer",this.$link.appendChild(this.$linkText),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$label.appendChild(this.$link),this.$wrapper=document.createElement("div"),this.$wrapper.className="dir-wrapper",this.$wrapper.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-wrapper {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n\n .dir-label {\n margin-right: 0.1em;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$wrapper)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Ho(this.$checkbox)}}const ai=new Set(["flyfrontier.com","es.flyfrontier.com"]);class ri extends $a{checkboxManager=new sr(ii);constructor(){super("FLYFRONTIER_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return ai.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".divPromoSearchParent"],{inject:"after"}),ar(["#btnSearch"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){try{const e=Bo(["#destination-label"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bo(["input#departureDate"]);if(!e)return null;const t=e.value;if(!t)return null;const o=new Date(t);return Number.isNaN(o.getTime())?null:Aa.fromDate(o)},checkout(){const e=Bo(["input#returnDate"]);if(!e)return null;const t=e.value;if(!t)return null;const o=new Date(t);return Number.isNaN(o.getTime())?null:Aa.fromDate(o)},adults(){const e=Bo(["input#passengersInput"]);if(!e)return 2;const t=e.getAttribute("data-travelers-adult");return null===t?2:Mt(t)??2},children(){const e=Bo(["input#passengersInput"]);if(!e)return 0;const t=e.getAttribute("data-travelers-child")??"0",o=e.getAttribute("data-travelers-infant")??"0";return(Mt(t)??0)+(Mt(o)??0)},currency:"USD"}}}const ii=cr(function({visibilityRef:e,checked:t,onClick:o}){const n=qo();return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsx)("style",{children:"\n.dir-label {\n color: #fff;\n font-size: 13px;\n font-weight: 400;\n cursor: pointer;\n\n display: inline-block;\n margin-top: 3%;\n}\n"}),(0,rr.jsxs)("label",{className:"dir-label",children:[(0,rr.jsx)("input",{type:"checkbox",checked:t,onClick:o,onChange:()=>{},ref:e}),nr("cross_sell.kayak.find_me_accommodation",{},n)]})]})});var si=o(12);const ci=new Set(["southwest.com","espanol.southwest.com"]);class li extends Ma{checkboxManager=new sr(ui);constructor(){super("SOUTHWEST_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return ci.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/air/booking/select-depart.html")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['#bookingSection [class*="showLowFareContainer__"]']),ar(['#bookingSection [class*="submit__"] button'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){try{const e=new URL(window.location.href),t=e.searchParams.get("to");if(t){const e=t.split(",").map(e=>e.trim()).filter(e=>e.length>0)[0];return e?Ta(e):null}const o=e.searchParams.get("destinationAirportCode");return o?Ta(o):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("departureDate");return t?Aa.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("returnDate");return t?Aa.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adultsCount");if(!t)return 2;const o=Mt(t);return null===o?2:o},children:()=>(Mt(e.searchParams.get("teensCount")??"0")??0)+(Mt(e.searchParams.get("olderChildCount")??"0")??0)+(Mt(e.searchParams.get("youngerChildCount")??"0")??0)+(Mt(e.searchParams.get("lapInfantPassengersCount")??"0")??0),currency:"USD"}}}const ui=cr(function({visibilityRef:e,checked:t,onClick:o}){const n=(0,Go.useId)(),a=qo();return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsx)("style",{children:'\n* {\n box-sizing: border-box\n}\n\n.crossSellCheckbox {\n display: inline-block\n}\n\n.formField {\n display: flex;\n flex-direction: column\n}\n\n.hiddenFromScreen {\n border: 0;\n clip: rect(0,0,0,0);\n height: 0;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px\n}\n\n.checkbox {\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n gap: .5rem;\n outline: 0;\n position: relative;\n width: fit-content\n}\n\n.checkbox:before {\n border: 1px solid var(--cmp-core-color-checkbox-border);\n bottom: -2px;\n content: "";\n left: -4px;\n opacity: 0;\n position: absolute;\n right: -4px;\n top: -2px;\n transition: opacity var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.checkbox:hover .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:hover .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox:focus-visible:before {\n opacity: 1\n}\n\n.checkbox:focus-visible .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:focus-visible .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox.selected .checkboxIcon {\n background-color: var(--cmp-core-color-checkbox-bg-selected);\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast),border-color var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.focusRing {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n display: flex;\n flex-shrink: 0;\n height: 1.25rem;\n justify-content: center;\n margin: -.125rem;\n position: relative;\n transition: border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1.25rem\n}\n\n.checkboxIcon {\n align-items: center;\n background-color: var(--cmp-core-color-checkbox-bg);\n border-color: var(--cmp-core-color-checkbox-border);\n border-radius: 2px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n height: 1rem;\n justify-content: center;\n overflow: hidden;\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast) linear .1s,border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1rem;\n}\n\n.iconContainer {\n display: flex\n}\n\n.icon {\n display: inline-block;\n font-size: 0\n}\n\n.transparentBorder {\n border: 2px solid var(--cmp-core-color-icon-border-transparent)\n}\n\n.container {\n align-items: center;\n display: inline-flex;\n justify-content: center\n}\n\n.label {\n color: var(--cmp-core-color-checkbox-content);\n flex: 1;\n min-width: 0;\n transition: color var(--cmp-core-defines-animation-duration-slow)\n}\n'}),(0,rr.jsxs)("span",{className:"crossSellCheckbox formField",children:[(0,rr.jsx)("input",{"aria-hidden":"true",className:"hiddenFromScreen",tabIndex:-1,type:"checkbox",value:t?"true":"false",onChange:()=>{}}),(0,rr.jsxs)("div",{"aria-checked":t,"aria-disabled":"false","aria-labelledby":n,className:si("checkbox",{selected:t}),role:"checkbox",tabIndex:0,ref:e,onClick:o,children:[(0,rr.jsx)("span",{className:"focusRing",children:(0,rr.jsx)("span",{className:"checkboxIcon",children:(0,rr.jsx)("div",{className:"iconContainer",style:{opacity:t?1:0,transform:"none"},children:(0,rr.jsx)("span",{className:"container",style:{height:16,width:16},children:(0,rr.jsx)("svg",{"aria-label":"Check",className:"icon transparentBorder",height:16,role:"img",viewBox:"0 0 32 32",style:{fill:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)",stroke:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)"},children:(0,rr.jsx)("path",{d:"M2,14 L13,24 L29,7",fill:"none",strokeDasharray:"39",strokeWidth:"5",strokeDashoffset:"0"})})})})})}),(0,rr.jsx)("span",{className:"label",id:n,children:nr("cross_sell.kayak.find_me_accommodation",{},a)})]})]})]})}),mi=new Set(["delta.com","es.delta.com"]);class pi extends $a{checkboxManager=new sr(di);constructor(){super("DELTA_HOTELS","KAYAK")}async shouldActivate(){const e=Za(new URL(window.location.href));return mi.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["ngc-search-options fieldset .booking-widget_search-checkbox-section"]),ar(["#btn-book-submit"],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){try{const e=Bo(["#toAirportName .airport-desc"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bo(["#calDepartLabelCont input"]);if(!e)return null;const t=e.value;return t?Aa.tryFromSlashMMDDYYYY(t):null},checkout(){const e=Bo(["#calReturnLabelCont input"]);if(!e)return null;const t=e.value;return t?Aa.tryFromSlashMMDDYYYY(t):null},adults(){const e=Bo(["#passengers-val"]);if(!e)return 2;const t=e.textContent?.match(/\d+/)?.[0]??null;return t?Mt(t)??2:2},children:0,currency:"USD"}}}const di=cr(function({visibilityRef:e,checked:t,onClick:o}){const n=qo(),a=(0,Go.useId)();return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsx)("style",{children:'\n*, :after, :before {\n box-sizing: border-box;\n}\n\ninput {\n padding: 0;\n}\n\n.dir-wrapper {\n /* always put checkbox at the end */\n order: 99999;\n\n font-weight: 400;\n font-size: .875rem;\n line-height: 1.5;\n}\n\nlabel {\n padding-top: .375rem;\n font-family: Whitney-Light !important;\n font-size: .875rem;\n display: inline-block;\n margin-bottom: .5rem;\n touch-action: manipulation;\n}\n\n.searchOptionCheckboxColumn input+label:before {\n top: .5rem;\n}\n\n@media (min-width: 375px) {\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n}\n\n@media (min-width: 768px) {\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n.col-md-6, .col-sm-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\ninput {\n overflow: visible;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n position: absolute;\n top: .5rem;\n left: 1rem;\n width: 1.125rem;\n height: 1.25rem;\n margin: auto;\n}\n\ninput:focus {\n box-shadow: 0 0 .0625rem .3125rem #242a48, 0 0 .0625rem .375rem #616778 !important;\n background-color: #fafbfc;\n border-radius: 3px !important;\n outline: none !important;\n}\n\ninput+label {\n position: relative;\n padding-left: 2rem;\n line-height: 1.5rem;\n}\n\ninput:checked+label:before {\n color: #818a98;\n content: "\\E909";\n}\n\ninput+label:before {\n position: absolute;\n left: 0;\n font-size: 1.25rem;\n color: #818a98;\n content: "\\E91C";\n background-color: #11172b;\n}\n\n.icon-Checked:before {\n font-family: icomoon !important;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: none;\n}\n\n@media (min-width: 992px) {\n .searchOptionCheckboxColumn {\n flex: 0 0 auto !important;\n width: auto !important;\n max-width: none !important;\n }\n\n .dir-wrapper {\n padding: 0 0 0 .8125rem;\n }\n}\n\n@media (max-width: 991.9999px) {\n .dir-wrapper {\n width: 100%;\n }\n}\n'}),(0,rr.jsx)("div",{className:"dir-wrapper",children:(0,rr.jsxs)("div",{className:"col-sm-auto col-md-6 searchOptionCheckboxColumn",children:[(0,rr.jsx)("input",{id:a,type:"checkbox",checked:t,onChange:o}),(0,rr.jsx)("label",{htmlFor:a,className:"icon-Checked",ref:e,children:nr("cross_sell.kayak.find_me_accommodation",{},n)})]})})]})}),hi=new Set(["aa.com"]);class fi extends $a{checkboxManager=new sr(gi);constructor(){super("AMERICAN_AIRLINES_HOTELS","KAYAK")}async shouldActivate(){const e=new URL(window.location.href),t=Za(e);return hi.has(t)&&"/homePage.do"===e.pathname}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["#bookingCheckboxContainer >:last-child"],{inject:"append"}),ar(['#flightSearchFormSubmitButton input[type="submit"]'],this.handleSearchClick.bind(this),{domCheckIntervalMs:Ua,preventOriginalClick:!1})}async getDestination(){try{const e=Bo(['input[name="destinationAirport"]']);return e?Ta(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Bo(['input[name="departDate"]']);return e?Aa.tryFromSlashMMDDYYYY(e.value):null},checkout(){const e=Bo(['input[name="returnDate"]']);return e?Aa.tryFromSlashMMDDYYYY(e.value):null},adults(){const e=Bo(['select[name="adultOrSeniorPassengerCount"]']);return e?Mt(e.value)??2:2},children:0,currency:"USD"}}}const gi=cr(function({visibilityRef:e,checked:t,onClick:o}){const n=qo(),a=(0,Go.useId)();return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsx)("style",{children:'\n* {\n box-sizing: border-box;\n}\n\n.dir-container {\n display: inline-block;\n\n font-family: Arial, sans-serif;\n font-size: 1em;\n}\n\ninput[type="checkbox"] {\n border: 0;\n clip: rect(0 0 0 0);\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\nlabel {\n display: inline-block;\n line-height: 20px;\n margin: 0;\n position: relative;\n width: 100%;\n\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\n.control {\n font: inherit;\n font-size: 100%;\n\n background-color: #fff;\n color: #fff;\n height: 20px;\n width: 20px;\n display: inline-block;\n margin: -2px 1px 0;\n border: 1px solid #9da6ab;\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n vertical-align: middle;\n\n margin-right: 1px;\n}\n\ninput[type="checkbox"]:checked~label .control {\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n background-color: #0078d2;\n}\n\ninput[type="checkbox"]:checked~label .control:before {\n content: "";\n height: 4px;\n width: 8px;\n display: inline-block;\n border-color: #fff;\n border-style: none none solid solid;\n border-width: 2px;\n margin: 4px;\n -ms-transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type="checkbox"]:focus~label .control, input[type="checkbox"]:hover~label .control, input[type="checkbox"]~label .control:focus, input[type="checkbox"]~label .control:hover {\n outline: 1px solid #0078d2;\n border: 1px solid #0078d2;\n}\n'}),(0,rr.jsxs)("div",{className:"dir-container",children:[(0,rr.jsx)("input",{type:"checkbox",value:t?"true":"false",checked:t,id:a,onChange:()=>{}}),(0,rr.jsxs)("label",{htmlFor:a,ref:e,onClick:o,children:[(0,rr.jsx)("span",{className:"control"})," ",nr("cross_sell.kayak.find_me_accommodation",{},n)," "]})]})]})});class bi{platforms=[];constructor(){this.platforms=[new ur,new dr,new gr,new kr,new xr,new Sr,new ri,new li,new pi,new fi,new oi]}async initialize(e){for(const t of this.platforms)await t.shouldActivate(e)&&await t.handleCrossSell()}}class yi{partner_name=""}class ki extends yi{info=null;parserType="json";constructor(e){if(!e)throw new Error("Partner name is required");super(),this.partner_name=e}shouldHandle(e){throw new Error("Method not implemented.")}async getLocale(){return $o()}async isReservation(){return!!await this.getReservationId()}async getReservationDetails(){try{if(await this.isReservation())return{platform_reservation_id:await this.getReservationId(),reservation_url:window.location.href,booking_reference:await this.getBookingReference(),partner_name:this.partner_name,status:await this.getStatus(),property_name:await this.getPropertyName(),guest_name:await this.getGuestName(),guest_email:await this.getGuestEmail(),currency:null,gross_total_price:null,net_total_price:null,total_tax_price:null,...await this.getPrice(),...await this.getStayParams(),locale:await this.getLocale(),clean_html:"html"===this.parserType?await this.getCleanHTML():null}}catch(e){console.error("Error getting reservation details",e)}return null}async getStayParams(){return{checkin:await this.buildQueryParams("checkin"),checkout:await this.buildQueryParams("checkout"),adults:await this.buildQueryParams("adults"),children:await this.buildQueryParams("children")}}async buildQueryParams(e,t=window.location.href){const o=new URL(t);return Ea((await this.getQueryParamMap(o))[e])}async getInfoJSON(e="#__NEXT_DATA__"){try{if(this.info)return this.info;const t=await lo(()=>Bo([e]),e=>!e||!e.textContent,10)();return this.info=Kt(t?.textContent??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getReservationId(){throw new Error("Method not implemented.")}async getBookingReference(){throw new Error("Method not implemented.")}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){throw new Error("Method not implemented.")}async getStatus(){throw new Error("Method not implemented.")}async getQueryParamMap(e){throw new Error("Method not implemented.")}async getCleanHTML(){return await function({timeout:e=2e3,stableThreshold:t=1e3,checkInterval:o=300,minTextLength:n=200,minElementCount:a=30}){const r=Date.now()+e;return new Promise(i=>{let s=!1,c=Date.now(),l=Date.now(),u=0,m={elements:0,text:0};const p=()=>{s||(s=!0,d.disconnect(),clearTimeout(g),i())},d=new MutationObserver(()=>{c=Date.now()}),h=()=>{if(s)return;const e=Date.now();if(e>=r)return void p();const i=document.body?.getElementsByTagName("*").length??0,d=(document.body?.innerText??"").replace(/\s+/g," ").trim().length;i!==m.elements||d!==m.text?(m={elements:i,text:d},l=e,u=0):e-c>=o&&(()=>{const e=document.querySelector('main, [role="main"], article')??document.body;if(!e)return!1;const t=(e.textContent??"").replace(/\s+/g," ").trim(),o=e.querySelectorAll("section, article, div, p, span").length;return t.length>=n&&o>=a})()?u+=1:u=0,u>=3&&e-l>=t?p():setTimeout(h,o)},f=()=>{s||(document.body?(m={elements:document.body.getElementsByTagName("*").length,text:(document.body.innerText??"").replace(/\s+/g," ").trim().length},d.observe(document.body,{childList:!0,subtree:!0}),h()):setTimeout(f,50))},g=setTimeout(p,e);(e=>{if("complete"===document.readyState)return e();const t=()=>{window.removeEventListener("load",t),document.removeEventListener("DOMContentLoaded",t),e()};window.addEventListener("load",t,{once:!0}),document.addEventListener("DOMContentLoaded",t,{once:!0})})(f)})}({timeout:5e3}),function(e){const t=e.body||e,o=t.querySelector("main")||t||e;if(!o)return"";o.querySelectorAll("script, noscript, style, svg, link, iframe, img, select, textarea, command, object, param, track, base").forEach(e=>e.remove()),o.querySelectorAll("[style]").forEach(e=>{e.removeAttribute("style")});const n=e.createTreeWalker(o,NodeFilter.SHOW_COMMENT,null),a=[];let r;for(;r=n.nextNode();)a.push(r);a.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)});const i=[/tracking/i,/banner/i];return o.querySelectorAll("[class], [id]").forEach(e=>{const t=`${e.className} ${e.id}`;i.some(e=>e.test(t))&&e.remove()}),o.innerHTML.trim().replace(/\s+/g," ").replace(/\n\s*\n/g,"\n").replace(/^\s+|\s+$/g,"").replace(/\n\s+/g,"\n").replace(/\s+\n/g,"\n")}(document.cloneNode(!0))}}function vi(e){return Math.round(e)/100}function wi(e){if(!e)return null;const t=e.match(/\d[\d., \u202f]*/);if(!t)return null;const o=t[0].trim().replace(/[^\d]$/,""),n=o.match(/^(?<integer>\d{1,3}(?:\.\d{3})*)(?:,(?<decimal>\d{1,2}))?$/)??o.match(/^(?<integer>\d{1,3}(?:,\d{3})*)(?:\.(?<decimal>\d{1,2}))?$/)??o.match(/^(?<integer>\d{1,3}(?:[ \u202f]\d{3})*)(?:[.,](?<decimal>\d{1,2}))?$/)??o.match(/^(?<integer>\d+)(?:[.,](?<decimal>\d{1,2}))?$/);if(!n)return null;const a=n.groups.integer.replace(/[., \u202f]/g,""),r=n.groups.decimal||"",i=100*parseInt(a,10),s=parseInt(r.padEnd(2,"0"),10);return isNaN(i)||isNaN(s)?null:i+s}class xi extends ki{constructor(){super("HYATT")}shouldHandle(e){return/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirm\//i.test(e)||/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/detail\//i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"confirmation_number",null))}async getPropertyName(){const e=await this.getInfoJSON(),t=Oo(e,"hotel_name",null);return"string"!=typeof t?null:t}async getGuestName(){const e=Bo(['[data-locator="guest-name"]']),t=e?.textContent?.trim()??null;if(t)return t;const o=Bo(['[data-js="firstName"]']),n=Bo(['[data-js="lastName"]']),a=o?.getAttribute("value")?.trim()??null,r=n?.getAttribute("value")?.trim()??null;return a||r?`${a} ${r}`:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getInfoJSON(),t=Oo(e,"customer_email",null);return"string"==typeof t?t:Bo(['[data-js="email"]'])?.getAttribute("value")||null}async getPrice(){try{const e=Bo(['[data-js="cash-total-price"']),t=e?.getAttribute("data-currency")?.trim()??"",o=e?.getAttribute("data-price")?.trim()??"";return{currency:t,net_total_price:wi(o),gross_total_price:wi(o),total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Uo(['script[type="text/javascript"]']),t=Array.from(e).find(e=>/utag_data\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,o=e?.match(/utag_data\s*=\s*(\{[\s\S]*?\})/);if(o){const e=o[1];return this.info=Kt(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){try{const e=await this.getInfoJSON(),t=e?.date_checkin||Bo([".originalCheckinDate"])?.textContent?.trim()||null,o=e?.date_checkout||Bo([".originalCheckoutDate"])?.textContent?.trim()||null,n=e?.number_of_adults||Bo(['[data-id="adults"]'])?.getAttribute("data-value")||null,a=e?.number_of_children||null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof o?o:null,adults:"number"==typeof n?n:"string"==typeof n?$t(n):null,children:"number"==typeof a?a:"string"==typeof a?$t(a):null}}catch(e){return console.error("Error getting query param map",e),{checkin:null,checkout:null,adults:null,children:null}}}}class ji extends ki{constructor(){super("BARCELO"),this.parserType="html"}shouldHandle(e){return/reservation\.barcelo\.com(?:[a-zA-Z\/]*?)\/booking-confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("itineraryNumber");if(e)return e;const t=await lo(()=>Uo(['[class*="Alert_success__"] span']),e=>!Oo(e,"[1].textContent",null),10)();return t?.[1]?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class _i extends ki{constructor(){super("MARRIOTT"),this.parserType="html"}shouldHandle(e){return/www\.marriott\.com(?:[a-zA-Z-\/]*?)\/reservation\/(confirmation|upcomingReservation)\.mi/i.test(e)}async getReservationId(){try{const e=await lo(Uo,e=>!Oo(e,"[1].textContent",null))([".booking-id-wrapper span"]),t=e?.length?e[1]?.textContent:null;if(t)return t.trim().replace(/\s/g,"").replace("#","");return new URL(window.location.href).searchParams.get("confirmationNumber")||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}var Ci=Object.prototype.toString;const zi=(Ei=function(e,t,o){null!=t&&"function"!=typeof t.toString&&(t=Ci.call(t)),e[t]=o},Ai=Do,Oi=function(){return Ai},function(e,t){return function(e,t,o,n){return Po(e,function(e,a,r){t(n,o(e),a,r)}),n}(e,Ei,Oi(t),{})}),Si={...zi({AED:"د.إ",AFN:"؋",ALL:"L",AMD:"֏",ANG:"ƒ",AOA:"Kz",ARS:"AR$",AUD:"$",AWG:"ƒ",AZN:"ман",BAM:"KM",BBD:"$",BDT:"৳",BGN:"лв",BHD:".د.ب",BIF:"FBu",BMD:"$",BND:"$",BOB:"$b",BRL:"R$",BSD:"$",BTC:"฿",BTN:"Nu.",BWP:"P",BYR:"p.",BZD:"BZ$",CAD:"$",CDF:"FC",CHF:"CHF",CLP:"$",CNY:"¥",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"Fdj",DKK:"kr",DOP:"RD$",DZD:"دج",EEK:"kr",EGP:"£",ERN:"Nfk",ETB:"Br",ETH:"Ξ",EUR:"€",FJD:"$",FKP:"£",GEL:"₾",GGP:"£",GHC:"₵",GHS:"GH₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"ع.د",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"J$",JOD:"JD",JPY:"¥",KES:"KSh",KGS:"лв",KHR:"៛",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"KD",KYD:"$",KZT:"лв",LAK:"₭",LBP:"£",LKR:"₨",LRD:"$",LSL:"M",LTC:"Ł",LTL:"Lt",LVL:"Ls",LYD:"LD",MAD:"MAD",MDL:"lei",MGA:"Ar",MKD:"ден",MMK:"K",MNT:"₮",MOP:"MOP$",MUR:"₨",MVR:"Rf",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"₨",NZD:"$",OMR:"﷼",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"₨",PLN:"zł",PYG:"Gs",QAR:"﷼",RMB:"¥",RON:"lei",RSD:"Дин.",RUB:"₽",RWF:"R₣",SAR:"﷼",SBD:"$",SCR:"₨",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SOS:"S",SRD:"$",SSP:"£",STD:"Db",SVC:"$",SYP:"£",SZL:"E",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت",TOP:"T$",TRL:"₤",TRY:"₺",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"₴",UGX:"USh",UYU:"$U",UZS:"лв",VEF:"Bs",VND:"₫",VUV:"VT",WST:"WS$",XAF:"FCFA",XBT:"Ƀ",XCD:"$",XOF:"CFA",XPF:"₣",YER:"﷼",ZAR:"R",ZWD:"Z$",USD:"$",GBP:"£"}),$:"USD",US$:"USD"};var Ei,Oi,Ai;function Li(e,t){return t?.[e]||Si[e]||e||null}function Pi(e){return/^[A-Z]{3}$/.test(e)}class Ii extends ki{constructor(){super("HOLIDU")}shouldHandle(e){return/holidu\.[.a-z]{2,7}\/reservations\//i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=Bt(Oo(e,"booking.bookingDetails.externalBookingId",null));if(null!==t)return t;const o=Bt(Oo(e,"booking.bookingDetails.bookingId",null));if(null!==o)return o;const n=Bo(["#contact b"]);return n?.textContent?.trim()??null}async getPrice(){try{const e=await this.getInfoJSON(),t=qt(Oo(e,"booking.bookingDetails.receipt",null));if(t){const e=Oo(t,"priceTotal.price.local.currency",null),o=Oo(t,"priceTotalWithTaxes.price.local.value",null),n=Oo(t,"priceTotal.price.local.value",null);return{currency:"string"==typeof e?e:null,gross_total_price:wi(Bt(o)),net_total_price:wi(Bt(n))}}const o=Bo(["#payment-schedule .mb-xxl"]);if(o?.textContent){const e=o.textContent.trim(),t=e.replace(/[\d,.\s]*/g,""),n=wi(e);return{currency:Li(t),gross_total_price:n,net_total_price:n}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Oo(e,"apartment.details.name",null);if("string"==typeof t)return t;const o=Bo([".text-2xl"]);return o?.textContent?.trim()??null}async getGuestName(){const e=await this.getInfoJSON(),t=Oo(e,"booking.bookingDetails.customer",null),o=Oo(t,"firstName",null),n=Oo(t,"lastName",null);return o||n?`${o} ${n}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Oo(e,"booking.bookingDetails.customer.email",null);if("string"==typeof t)return t;const o=Uo([".tw-reset-button.cursor-pointer.text-black-ultra"]);return o?.[5]?.textContent?.trim()??null}async getStatus(){const e=Bo([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")||window.location.href.includes("cancel")?"CANCELLED":"BOOKED"}async getLocale(){const e=Bo(['[data-testid="Navbar__LocaleCurrencySelector"]']);return e?.textContent?.trim()?.split("/")[0]?.toLowerCase()?.trim()||super.getLocale()}async getInfoJSON(){try{if(this.info)return this.info;const e=await lo(()=>Bo(['script[data-key="initial-state"]']),e=>!e||!e.textContent,10)(),t=e?.textContent?.trim()?.replace(/<!--/,"").replace(/-->/,"");return this.info=Kt(t??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=qt(Oo(t,"booking.bookingDetails",null));if(o){const e=qt(Oo(o,"guests",null)),t=o.checkin,n=o.checkout,a=e?.adults??null,r=e?.kids??null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof n?n:null,adults:"number"==typeof a?a:"string"==typeof a?$t(a):null,children:"number"==typeof r?r:"string"==typeof r?$t(r):null}}const n=Bo([".pr-m .mt-s:not(.gap-xs)"]);return{checkin:()=>{try{if(!n)return null;const e=n.children[0],t=e?.children[1]?.children[0];return Pa(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!n)return null;const e=n.children[1],t=e?.children[1]?.children[0];return Pa(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bo(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(1)"]);return $t(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Bo(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(2)"]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}const Di=".confirmation-page .row > div.col-lg-5.col-12";class Ni extends ki{constructor(){super("MEININGER")}shouldHandle(e){return/book\.meininger-hotels\.com\/reservations\/[a-f0-9-]+-(?!guest-details)[^\/]+/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=Bt(Oo(e,"props.bookingCartConfirmation.info.bookingReservationNumber",null));if(null!==t)return t;const o=Bo([`${Di} > div:nth-child(2) > div > div:nth-child(2)`]);return o?.textContent?.trim()??null}async getPropertyName(){const e=await this.getInfoJSON(),t=Oo(e,"props.bookingCartConfirmation.info.hotelFullName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getInfoJSON(),t=Oo(e,"props.bookingCartConfirmation.info.guest",null),o=Oo(t,"name",null),n=Oo(t,"surname",null);return o||n?`${o} ${n}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Oo(e,"props.bookingCartConfirmation.info.guest.email",null);return"string"!=typeof t?null:t}async getPrice(){try{const e=await this.getInfoJSON(),t=qt(Oo(e,"props.bookingCartConfirmation",null));if(t){const e=Oo(t,"info.currency",null),o=Oo(t,"totalAmount",null),n=Oo(t,"totalAmountWithCityTax",null),a=Oo(t,"totalCityTax",null);return{currency:"string"==typeof e?e:null,net_total_price:"number"==typeof o?o:null,gross_total_price:"number"==typeof n?n:null,total_tax_price:"number"==typeof a?a:null}}const o=Bo([".bookingCart"]),n=Bo([".bookingCart"])?.children[0],a=n?.getAttribute("data-currency")?.trim()??null,r=o?.children[1];return{currency:a?Li(a):null,net_total_price:wi(r?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){try{if(this.info)return this.info;const e=await lo(()=>Bo(["#app"]),e=>!e||!e.getAttribute("data-page"),10)();return this.info=Kt(e?.getAttribute("data-page")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){const e=Bo([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=qt(Oo(t,"props.bookingCartConfirmation.info",null));if(o){const{arrivalDate:e,departureDate:t,adults:n,children:a}=o;return{checkin:"string"==typeof e?e:null,checkout:"string"==typeof t?t:null,adults:"number"==typeof n?n:"string"==typeof n?$t(n):null,children:"number"==typeof a?a:"string"==typeof a?$t(a):null}}const n=Bo([`${Di} > div:nth-child(3) > div > div:nth-child(2)`]);return{checkin:()=>{try{if(!n)return null;const e=n.textContent;return Pa(Ia(e?.split(" - ")[0]??null))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!n)return null;const e=n.textContent;return Pa(Ia(e?.split(" - ")[1]??null))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bo([`${Di} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column`]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Bo([`${Di} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column > span:nth-child(2)`]);return $t(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Ti extends ki{constructor(){super("EVOLVE")}shouldHandle(e){return/evolve\.com\/booking\/(\d+)\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.pathname.match(/\/booking\/(\d+)\/confirmation/),o=await this.getQueryParamMap(e);if(!t?.[1])return null;const n=await Promise.all(Object.values(o).map(e=>"function"==typeof e?e():e));return`${t[1]}-${n.join("-")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return this.getReservationId()}async getPrice(){return{currency:null,gross_total_price:null,net_total_price:null}}async getPropertyName(){const e=Bo([".Confirmation_listingCopy__t0MUM .Confirmation_sectionHeading__Mlxru"]);return e?.textContent?.trim()??null}async getGuestName(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:()=>{try{return Pa(Ia(e.searchParams.get("startDate")))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return Pa(Ia(e.searchParams.get("endDate")))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return $t(e.searchParams.get("adults")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return $t(e.searchParams.get("children")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Ri extends ki{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/managebookings\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml#\/details/i.test(e)}async getReservationId(){try{const e=await lo(()=>Bo([".bd-info__booking-number"]),e=>!e,15)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=Bo(["#afterTaxValue"]);if(e?.textContent){const t=Bo([".price-display__value"],e),o=t?.textContent?.trim()??e.textContent.trim(),n=wi(o)??Math.round(100*parseFloat(o.replace(/[^0-9.,]/g,"").replace(",","."))),a=Bo([".js-currency-text"]);return{currency:a?.textContent?.trim()??"",gross_total_price:n,net_total_price:n}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Bo(["#hotelName"]);return e?.textContent?.trim()||null}async getGuestName(){const e=Bo(["#reserveeFullName"]);return e?.textContent?.trim()||null}async getGuestEmail(){return null}async getStatus(){const e=Bo([".is-cancellation-message"]);return e?.textContent?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Bo([".bd-info__date"]);return{checkin:()=>{try{if(!t)return null;const e=Bo([".bd-info__date-in-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Bo([".bd-info__date-out-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bo(["#roomListPaxAdults_0"]);return e?$t(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Mi extends ki{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/ssr\/app\/accor\/confirmation\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml/i.test(e)}async getReservationId(){try{const e=await this.getManageReservationButton(),t=e?.getAttribute("href");if(t){return new URL(t,window.location.origin).searchParams.get("historic.folderNumber")??null}return null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPropertyName(){const e=Bo([".hotelTitle__text"]);return e?.textContent?.trim()??null}async getGuestName(){const e=await this.getManageReservationButton(),t=e?.getAttribute("href");return t?new URL(t,window.location.origin).searchParams.get("historic.bookingName")??null:null}async getGuestEmail(){return null}async getPrice(){try{const e=Bo([".booking-price"]);if(e?.textContent){const t=Bo([".mcp-price-number"],e),o=Bo([".mcp-price-cent"],e),n=Bo([".js-currency-text"]),a=`${t?.textContent?.trim()??""}${o?.textContent?.trim()??"00"}`,r=Number(a);return{currency:n?.textContent?.trim()??"",gross_total_price:r,net_total_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getManageReservationButton(){return await lo(()=>Bo(["a.btn--manage-reservation"]),e=>!e,15)()}async getQueryParamMap(e){const t=Bo(["li.confirmation-booking-summary__body-items-item"]),o=async()=>{try{const t=await this.getManageReservationButton(),o=t?.getAttribute("href");if(!o)return null;const n=new URL(o,e.origin),a=n.searchParams.get("historic.dayIn")??null,r=n.searchParams.get("historic.monthIn")??null;return`${n.searchParams.get("historic.yearIn")??null}-${r}-${a}`}catch(e){return console.error("Error getting checkin",e),null}};return{checkin:o,checkout:async()=>{try{if(!t)return null;const e=$t(t.children[0]?.textContent?.trim().match(/\d+/g)?.[0]??"");if(!e)return null;const n=await o();if(!n)return null;const a=new Date(n).getTime()+24*e*60*60*1e3;return Pa(new Date(a).toISOString())??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return t?$t(t.children[1]?.textContent?.trim().match(/\d+/g)?.[1]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return t?$t(t.children[1]?.textContent?.trim().match(/\d+/g)?.[2]??""):null}catch(e){return console.error("Error getting children",e),null}}}}}class $i extends ki{constructor(){super("GUESTREADY")}shouldHandle(e){return/book\.guestready\.com\/(?:[a-zA-Z]{2}\/)*reservations\/([a-zA-Z0-9]+)/i.test(e)}async getReservationId(){try{const e=/\/reservations\/([a-zA-Z0-9]+)/,t=new URL(window.location.href);return t.pathname.match(e)?.[1]??null}catch(e){return console.error("Error getting reservation id",e),null}}async getPropertyName(){return null}async getGuestName(){return null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"props.pageProps.reservation.booking_number",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Oo(e,"props.pageProps.reservation.receipts.payments[0].amount_formatted",null);if("string"!=typeof t)return null;const o=t.replace(/[0-9.,\s]/g,""),n=wi(t);return{currency:Li(o),gross_total_price:n,net_total_price:n}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Oo(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=qt(Oo(t,"props.pageProps.reservation",null));return{checkin:()=>{try{const e=Oo(o,"check_in_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(o,"check_out_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Oo(o,"adults",null);return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Oo(o,"children",null);return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}const Bi=(e,t,o)=>{if(e.searchParams.get(t)&&e.searchParams.get(o)){const n=e.searchParams.get(t),a=`${(parseInt(n?.slice(0,2)||"",10)||0)+1}`.padStart(2,"0"),r=n?.slice(2);return`${r}-${a}-${e.searchParams.get(o)}`}return null};class Ui extends ki{constructor(){super("IHG")}shouldHandle(e){return/www\.ihg\.com(?:[a-zA-Z\/]*?)\/pay\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href);return`${e.searchParams.get("confirmationNumber")}-${e.searchParams.get("lastName")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await lo(()=>Bo(['[data-slnm-ihg="reservationConfirmationMessage"] .notranslate']),e=>!e||!e?.textContent?.trim(),10)();return e?.textContent?.trim()??this.getReservationId()}async getPrice(){try{const e=await lo(()=>Bo([".table-bottom._total .side-panel-total"]),e=>!e||!e?.textContent?.trim(),10)();if(e?.textContent){const t=e.textContent.replace(/[^0-9.,]/g,""),o=Bo([".brandThemeLink"],e),n=wi(t);return{currency:o?.textContent?.trim()??"",gross_total_price:n,net_total_price:n}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Bo([".hotelInfoSummary .ng-star-inserted"]);return e?.textContent?.trim()??null}async getGuestName(){const e=Bo(['[data-slnm-ihg="quickEnrollWelcomeContentSID"] .notranslate']);return e?.textContent?.trim()??null}async getGuestEmail(){return await this.getGuestName()}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await lo(()=>Bo(['[data-slnm-ihg="duplicateReservationButton"]']),e=>!e||!e?.getAttribute("href"),10)(),o=t?.getAttribute("href");if(!o)return{checkin:null,checkout:null,adults:null,children:null};const n=new URL(`${window.location.origin}${o}`);return{checkin:()=>{try{return Bi(n,"qCiMy","qCiD")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return Bi(n,"qCoMy","qCoD")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return $t(n.searchParams.get("qAdlt")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return $t(n.searchParams.get("qChld")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Vi extends ki{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/checkout\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("loc");if(e)return e;const t=await this.getInfoJSON();return Bt(Oo(t,"props.pageProps.checkOutDetails.summary.locatorCode",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"props.pageProps.checkOutDetails.summary.selectedConfig.locator",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=qt(Oo(e,"props.pageProps.checkOutDetails.summary.selectedRoomRate",null));if(t?.currencyPrice){const o=Oo(e,"props.pageProps.checkOutDetails.currency",null),n=Bt(Oo(t,"currencyPrice",null)||Oo(t,"price",null)),a=Bt(Oo(t,"currencyPriceWithoutTax",null)||Oo(t,"priceWithoutTax",null)),r=wi(n),i=wi(a);return{currency:"string"==typeof o?o:null,gross_total_price:r,net_total_price:r,total_tax_price:null!==r&&null!==i?r-i:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Oo(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=Oo(t,"props.pageProps.checkOutDetails.summary.selectedConfig.dates",null),n=qt(Oo(t,"props.pageProps.checkOutDetails.summary.selectedConfig.occupancy[0]",null));return{checkin:()=>{try{if(!Array.isArray(o))return null;const e=o[0];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!Array.isArray(o))return null;const e=o[1];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return n?"number"==typeof n.adults?n.adults:"string"==typeof n.adults?$t(n.adults):null:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return n?"number"==typeof n.children?n.children:"string"==typeof n.children?$t(n.children):null:null}catch(e){return console.error("Error getting children",e),null}}}}}class qi extends ki{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/reservation/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await lo(()=>Bo([".definition-list-wrapper___2kUGk dd"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await lo(()=>Bo([".c-payment-card___1_CuQ"]),e=>!e||!e.textContent,10)();if(e){const t=Bo([".price___14pEy.featured___2Dap0"],e),o=wi((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),n=t?.textContent?.replace(/[0-9.,\s]/g,"")??null,a=Bo([".summary___3U0EP .price___14pEy"],e);return{currency:n,gross_total_price:o,net_total_price:o,total_tax_price:wi((a?.textContent??"").replace(/[a-zA-Z\s]/g,""))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=Uo([".c-definition-list___21ds4"]);if(e){const t=e[3];if(t)return t.textContent?.toLocaleLowerCase().includes("cance")?"CANCELLED":"BOOKED"}return"BOOKED"}async getQueryParamMap(e){const t=Uo([".details-section___2hrKe"]);return{checkin:()=>{try{if(!t?.[1])return null;const e=Bo([".detail___2S67E"],t[1]);return e?.textContent??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t?.[1])return null;const e=(Uo([".detail___2S67E"],t[1])||[])[2];return e?.textContent??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{if(!t?.[2])return null;const e=Bo([".capacity___BYiON"],t[2]);return $t(e?.textContent?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{if(!t?.[2])return null;const e=Bo([".capacity___BYiON"],t[2]);return $t(e?.textContent?.match(/\d+[^]*?(\d+)/)?.[1]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Fi extends ki{constructor(){super("IBEROSTAR")}shouldHandle(e){return/booking\.iberostar\.com\/Book\/Confirm\.aspx/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await lo(()=>Bo(["#cphMain_ctl01_Label1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestName(){const e=await lo(()=>Bo(["#ContentPlaceHolder3_lblcodclinombre1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestEmail(){const e=await lo(()=>Bo(["#ContentPlaceHolder3_lblcodemail1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPropertyName(){const e=await lo(()=>Bo([".hname"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await lo(()=>Uo(["#Totales div"]),e=>!e||Vt(e),10)(),t=Array.from(e||[]).find(e=>"none"!==e.style.display);if(t){const e=wi((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),o=Bo([".currency"],t);return{currency:o?.textContent?.trim()??null,gross_total_price:e,net_total_price:e,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return Uo([".alert-cancelled"])?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Bo(["#reservationData"]);return t?{checkin:()=>{try{const e=Bo([".checkin .fieldvalue"],t);return Ia(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Bo([".checkout .fieldvalue"],t);return Ia(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bo([".people .fieldvalue"],t);return $t(e?.textContent?.trim()?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}:{checkin:null,checkout:null,adults:null,children:null}}}class Hi extends ki{constructor(){super("SONDER")}shouldHandle(e){return/www\.sonder\.com(?:[a-zA-Z-/]*?)\/bookings\/[a-zA-Z0-9]*?\/confirmations/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Oo(e,"props.pageProps.confirmation.guestInfo",null),o=Oo(t,"firstName",null),n=Oo(t,"lastName",null);return o||n?`${o}-${n}`:null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"props.pageProps.bookingUniqKey",null))}async getPropertyName(){const e=await this.getProductInfo();return e?`${e?.title} - ${e?.subtitle}`:null}async getPrice(){try{const e=await this.getInfoJSON(),t=Oo(e,"props.pageProps.confirmation.invoiceInfo",null);if(t){const e=Oo(t,"total.value",null),o=Oo(t,"total.currency",null),n=Oo(t,"lineItems",null),a=wi("string"==typeof e?e.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof o?o:null,gross_total_price:a,net_total_price:a,total_tax_price:wi(Bt(Array.isArray(n)?n?.find(e=>{const t=qt(e);return!!t&&"taxes"===t.type&&void 0!==t.value})?.value:null))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Oo(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getProductInfo(){const e=await this.getInfoJSON();return qt(Oo(e,"props.pageProps.confirmation.productInfo",null))??null}async getQueryParamMap(e){const t=await this.getProductInfo();return{checkin:()=>{try{const e=Oo(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Oo(t,"numberOfGuests",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Ki extends ki{constructor(){super("CHOICEHOTELS")}shouldHandle(e){return/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/confirmation/i.test(e)||/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/reservations\/reservation-details/i.test(e)}async getReservationId(){try{const e=await lo(()=>Bo([".confirmation-number-heading"]),e=>!e,15)(),t=(e?.textContent?.trim()??"").split(" ");return t[t.length-1].trim()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getGuestName(){try{const e=await lo(()=>Bo([".reservation-guest-details .user-name"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting guest name",e),null}}async getPropertyName(){try{const e=await lo(()=>Bo(['[data-track-id="BackToPropertyPage"]']),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting property name",e),null}}async getPrice(){try{const e=Bo(['[data-track-id="summaryOfCharges"]']);if(e?.textContent){const t=Bo([".summary-of-charges-total-amount"],e),o=wi(t?.textContent?.trim()||""),n=Bo([".currency-code"]),a=Bo([".taxes-total"]),r=wi(a?.textContent?.trim()||"");return{currency:n?.textContent?.trim().replace(/[()]/g,"")??"",gross_total_price:o,net_total_price:o,total_tax_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await lo(()=>Bo([".booking-summary"]),e=>!e,15)();return{checkin:()=>{try{if(!t)return null;const e=Bo(['[data-track-id="CheckInDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Bo(['[data-track-id="CheckOutDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Bo([".occupancy-description"]);return e?$t(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Gi extends ki{constructor(){super("WYNDHAMHOTELS")}shouldHandle(e){return/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/confirm/i.test(e)||/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/view/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Bo(["script"],await lo(Bo,e=>!e||!e.textContent,10)([".container.component-spacer"])),t=e?.textContent?.match(/var\s+reservationDataFromAEM\s*=\s*(\{[\s\S]*?\});/),o=function(e,t){let o=e;return t.forEach(e=>{o=function(e,t){const o=new RegExp(`${t}\\s*:\\s*("[^"]*"|\\[[\\s\\S]*?\\]|'[^']*'),?`);return e.replace(o,"")}(o,e)}),o}(t?.[1],["taxList","dateRateMap","checkInTime","checkOutTime"])?.replace(/([a-zA-Z0-9_]+)\s*:/g,'"$1":').replace(/\n/g,"");return t?(this.info=Kt(o||"{}"),this.info):null}catch(e){return console.error("Error getting info",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Oo(e,"firstName",null),o=Oo(e,"lastName",null);return t||o?`${t}-${o}`:null}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"confirmationNumber",null))}async getPropertyName(){const e=await this.getInfoJSON();return Bt(Oo(e,"propertyId",null))}async getPrice(){try{const e=await this.getInfoJSON();if(!e)return null;const t=Oo(e,"totalCash",null),o=Oo(e,"subtotal",null),n=Oo(e,"taxTotal",null),a=Oo(e,"currencyCode",null),r="string"==typeof t?t.replace(/[^\d.,]/g,""):null,i="string"==typeof o?o.replace(/[^\d.,]/g,""):null,s="string"==typeof n?n.replace(/[^\d.,]/g,""):null,c="string"==typeof a?a:null,l=wi(r);return{currency:c,gross_total_price:l,net_total_price:wi(i),total_tax_price:wi(s)}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON();return{checkin:()=>{try{const e=Oo(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Oo(t,"adults",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Oo(t,"children",null);return"number"==typeof e?e:"string"==typeof e?$t(e):null}catch(e){return console.error("Error getting children",e),null}}}}}class Yi extends ki{constructor(){super("OYOROOMS")}shouldHandle(e){return/oyorooms\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getBookingData();return Bt(Oo(e,"invoice",null))}async getGuestName(){const e=await this.getBookingData(),t=Oo(e,"guest_name",null);if("string"==typeof t)return t;const o=Oo(e,"guest.name",null);return"string"==typeof o?o:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getBookingData(),t=Oo(e,"guest.email",null);if("string"==typeof t)return t;const o=Oo(e,"guest_email",null);return"string"==typeof o?o:null}async getPropertyName(){const e=await this.getBookingData(),t=Oo(e,"get_alias_name",null);return"string"!=typeof t?null:t}async getBookingData(){const e=await this.getInfoJSON();return qt(Oo(e,"bookingDetailPage.bookingData.data",null))??null}async getInfoJSON(){if(this.info)return this.info;try{const e=Uo(["script"]),t=Array.from(e).find(e=>/window\.__PRELOADED_STATE__\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,o=e?.match(/window\.__PRELOADED_STATE__\s*=\s*(\{[\s\S]*?\}\n)/);if(o){const e=o[1];return this.info=Kt(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getPrice(){try{const e=await this.getBookingData();if(!e)return null;const t=Bt(e.total_amount_excluding_wizard),o=Bt(e.final_amount_excluding_oyo_money),n=Bt(e.total_tariff);return{currency:"string"==typeof e.currency_symbol?e.currency_symbol:null,gross_total_price:wi(t)??wi(o),net_total_price:wi(n),total_tax_price:0}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getBookingData();return"cancelled"===e?.morphedStatus?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getBookingData();return t?{checkin:()=>{try{return"string"!=typeof t.checkin?null:t.checkin}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return"string"!=typeof t.checkout?null:t.checkout}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return"number"==typeof t.no_of_adults?t.no_of_adults:"string"==typeof t.no_of_adults?$t(t.no_of_adults):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return"number"==typeof t.no_of_children?t.no_of_children:"string"==typeof t.no_of_children?$t(t.no_of_children):null}catch(e){return console.error("Error getting children",e),null}}}:{checkin:null,checkout:null,adults:null,children:null}}}class Qi extends ki{constructor(){super("CITIZENM")}shouldHandle(e){return/citizenm\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirmation/i.test(e)}async getReservationId(){try{return new URL(window.location.href).searchParams.get("bookingCode")??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=await lo(Bo,e=>!e,10)(['[data-testid="booking-confirmation-stay-price-total-amount"']);if(e?.textContent){const t=e.textContent.trim(),o=t.replace(/[0-9.,]/g,"").trim(),n=Pi(o)?o:Li(o),a=wi(t);return{currency:n,gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await lo(Bo,e=>!e,10)(['[data-testid="booking-confirmation-info-hotel"] h1']);return e?.textContent?.trim()??null}async getGuestName(){const e=await lo(Bo,e=>!e,10)(['[data-testid="booking-confirmation-booker-firstname"] .value']),t=await lo(Bo,e=>!e,10)(['[data-testid="booking-confirmation-booker-lastname"] .value']),o=e?.textContent?.trim(),n=t?.textContent?.trim();return o||n?`${o} ${n}`:null}async getGuestEmail(){const e=await lo(Bo,e=>!e,10)(['[data-testid="booking-confirmation-booker-email"] .value']);return e?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:async()=>{try{const e=await lo(Bo,e=>!e,10)(['[name="startdate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:async()=>{try{const e=await lo(Bo,e=>!e,10)(['[name="enddate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkout",e),null}},adults:async()=>{try{const e=await lo(Bo,e=>!e,10)([".rd-guests .value"]);return $t(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class Wi extends ki{constructor(){super("HOTEL-BB")}shouldHandle(e){return/hotel-bb\.com(?:[a-zA-Z0-9-\/]*?)\/checkout-confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"transactionId",null))}async getInfoJSON(){try{if(this.info)return this.info;const e=await lo(()=>Bo(['[data-drupal-selector="drupal-settings-json"]']),e=>!e||!e.textContent,10)();return this.info=Kt(e?.textContent||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getRoomData(){const e=await this.getInfoJSON(),t=qt(Oo(e,"bookingData.rooms",null))??{},o=Object.values(t);return(o[0]?qt(o[0]):null)??null}async getPrice(){try{const e=await this.getInfoJSON(),t=Oo(e,"bookingData.totalAmount",null);if(!t)return null;const o=await this.getRoomData(),n=t||Oo(o,"room_info.price"),a=Oo(e,"bbh_datalayer_ga4.page_data.currency",null)||Oo(o,"room_info.currency_code",null),r="string"==typeof n?wi(n):null;return{currency:"string"==typeof a?a:null,gross_total_price:r,net_total_price:r,total_tax_price:wi(Bt(o?.cityTaxAmount))}}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Oo(e,"bookingData.hotelName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getRoomData(),t=e?.occupant||e?.occupants_title;if("string"==typeof t)return t;const o=await lo(Bo,e=>!e,10)([".confirmation__txt-box h1"]);return o?.textContent?.trim().split(",")[0]??null}async getGuestEmail(){const e=await this.getRoomData(),t=e?.booker_email||e?.occupant_email;if("string"==typeof t)return t;const o=await lo(Bo,e=>!e,10)([".confirmation__txt-box strong"]);return o?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=Oo(t,"bbh_datalayer_ga4.page_data",null),n=await this.getRoomData(),a=qt(Oo(n,"room_info",null));return{checkin:()=>{try{const e=Oo(o,"booking_checkin_date",null);if("string"!=typeof e)return null;const[t,n,a]=e.split("/");return`${a}-${n}-${t}`}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(o,"booking_checkout_date",null);if("string"!=typeof e)return null;const[t,n,a]=e.split("/");return`${a}-${n}-${t}`}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=a?.adultsCount??n?.guestCount??null;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=a?.childrenCount??null;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class Ji extends ki{constructor(){super("ZENITHOTELES")}shouldHandle(e){return/zenithoteles\.com(?:[a-zA-Z0-9-\/]*?)\/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoComponent();if(e)return e.getAttribute("data-booking-code")??null;const t=window.location.href.match(/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9]+)\//);return t?t[1]:null}async getPropertyName(){const e=await this.getInfoComponent(),t=Ht(e?.getAttribute("data-hotel-info")||"{}");return Bt(Oo(t,"hotelName",null))}async getGuestName(){const e=Bo([".voucher__client .voucher__client-info-value"]);return e?.textContent?.trim()??null??null}async getGuestEmail(){const e=Uo([".voucher__client .voucher__client-info-value"]);return e?.[1]?.textContent?.trim()??null??null}async getPrice(){try{const e=await this.getInfoJSON();if(e){const t=Bt(Oo(e,"currency",null)),o=Bt(Oo(e,"value",null)),n=Bt(Oo(e,"tax",null)),a=wi(o),r=wi(n);return{currency:t,net_total_price:null!==a&&null!==r?a-r:null,gross_total_price:a,total_tax_price:r}}const t=Bo([".bookingCart"]);let o=Bo([".bookingCart"])?.children[0],n=o?.getAttribute("data-currency")?.trim()??null;const a=t?.children[1];return{currency:n?Li(n):null,net_total_price:wi(a?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoComponent(){return await lo(Bo,e=>!e||!e.getAttribute("data-ga4-event-data"),10)(["#roi-voucher-trackings"])}async getInfoJSON(){try{if(this.info)return this.info;const e=await this.getInfoComponent();return this.info=Kt(e?.getAttribute("data-ga4-event-data")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=Oo(t,"items",null);if(o&&Array.isArray(o)&&o[0]){const e=qt(o[0]);if(e){const t="string"==typeof e.item_category2?e.item_category2.split("-"):null,o=e.item_category3,n=e.item_category4,a=t?t[0]:null,r=t?t[1]:null;return{checkin:"string"==typeof o?o:null,checkout:"string"==typeof n?n:null,adults:"string"==typeof a?$t(a):null,children:"string"==typeof r?$t(r):null}}}return{checkin:null,checkout:null,adults:null,children:null}}}class Zi extends ki{constructor(){super("RADISSON"),this.parserType="html"}shouldHandle(e){return/radissonhotels\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/confirmation/i.test(e)||/radisson-confirmation/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).searchParams.get("bookingId")??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await lo(async()=>Bo(['[name="bookingId"]']),e=>!e,10)();return e?e.getAttribute("value"):null}async getPropertyName(){const e=Bo(['[data-test="propertyName"]']);return e?.textContent?.trim()??null}async getGuestName(){const e=Bo(['[data-test="first-name"]']),t=Bo(['[data-test="last-name"]']),o=e?.textContent?.trim(),n=t?.textContent?.trim();return o||n?`${o} ${n}`:null}async getGuestEmail(){const e=Bo(['[data-test="email"]']);return e?.textContent?.trim()??null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Bo(['[data-testid="people"]']),o=t?.textContent?.replace(/\D/g,"");return{checkin:null,checkout:null,adults:$t(o??""),children:null}}}class Xi extends ki{constructor(){super("NOVASOL")}shouldHandle(e){return/checkout\.novasol\.com(?:[a-zA-Z0-9-\/]*?)\/booking-complete\?/i.test(e)}async getReservationId(){try{const e=await this.getInfoJSON();return Bt(Oo(e,"bookingDetails.bookingId",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){const e=await super.getInfoJSON();return qt(Oo(e,"props.pageProps",null))??null}async getPropertyName(){const e=await this.getInfoJSON();return Bt(Oo(e,"property.propertyCode",null))??Bt(Oo(e,"propertyUnitCode",null))}async getGuestName(){const e=await this.getInfoJSON(),t=Oo(e,"customerSession.customer",null),o=Oo(t,"firstName",null),n=Oo(t,"lastName",null);return o||n?`${o} ${n}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Oo(e,"customerSession.customer.email",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getInfoJSON();return Bt(Oo(e,"bookingDetails.bookingId",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Oo(e,"customerSession.initialQuote.totalCost",null);if(!t)return null;const o=Oo(t,"value",null),n=Oo(t,"currency",null),a=wi(Bt(o));return{currency:"string"==typeof n?n:null,gross_total_price:a,net_total_price:a}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),o=new URL(window.location.href);return{checkin:()=>{try{const e=Oo(t,"bookingDetails.startDate",null);return"string"==typeof e?e.split("T")[0]:o.searchParams.get("start")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(t,"bookingDetails.endDate",null);return"string"==typeof e?e.split("T")[0]:o.searchParams.get("end")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Oo(t,"bookingDetails.numberOfAdults",null);return"number"==typeof e?e:$t("string"==typeof e?e:o.searchParams.get("adult")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Oo(t,"bookingDetails.numberOfChildren",null);return"number"==typeof e?e:$t("string"==typeof e?e:o.searchParams.get("child")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class es extends ki{reservationInfo=null;constructor(){super("BOOKING")}shouldHandle(e){return/secure\.booking\.com\/confirmation(?:\.[a-zA-Z-]{2,5})*\.html/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=Bo([".js-pb-guest-details__name"]);if(!e)return null;const t=e.textContent.trim();return 0===t.length?null:t}async getGuestEmail(){const e=await this.getReservationInfo(),t=Oo(e,"bookerInfo.bookerEmail",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getReservationInfo();return Bt(Oo(e,"identity.reservationId",null))}async getPropertyName(){const e=await this.findJSONPartFromRegex(/^PostBookingProperty:{/),t=Oo(e,"url",null);return"string"!=typeof t?null:ei(t.replace(".html",""))??null}async getPrice(){try{const e=await this.getReservationInfo(),t=e?.price;if(t){const o=Oo(t,"userTotalPretty",null),n=Oo(e,"context.selectedCurrency",null),a=wi("string"==typeof o?o.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof n?n:null,gross_total_price:a,net_total_price:a,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getReservationInfo(){try{if(this.reservationInfo)return this.reservationInfo;const e=await this.findJSONPartFromRegex(/^PostBookingReservation:{/);return this.reservationInfo=e,this.reservationInfo}catch(e){return console.error("Error getting reservation info",e),null}}async findJSONPartFromRegex(e){const t=await this.getInfoJSON();if(!t)return null;const o=Ft(t,e);return o?qt(o)??null:null}async getInfoJSON(){if(this.info)return this.info;const e=await Fo(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]'],11);return this.info=e,this.info}async getQueryParamMap(e){const t=await this.getReservationInfo(),o=qt(Oo(t,"bookedOccupancyInfo",null));return{checkin:()=>{try{const e=Oo(t,"reservationCheckinDate.rawDate",null);return"number"!=typeof e?null:ts(e)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Oo(t,"reservationCheckoutDate.rawDate",null);return"number"!=typeof e?null:ts(e)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=o?.numberOfAdults;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=o?.numberOfChildren;return"string"==typeof e?$t(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}function ts(e){if(!Number.isFinite(e))return null;const t=new Date(1e3*e);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${uo(t.getMonth()+1)}-${uo(t.getDate())}`}class os extends ki{constructor(){super("EUROSTARSHOTELS"),this.parserType="html"}shouldHandle(e){return/eurostarshotels\.com(?:[^]*?)#confirmation\//i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.searchParams.get("id_hotel"),o=e.hash.split("/").pop();return t&&o?`${t}-${o}`:null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return null}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Bo(['[data-testid="people"]']);return{checkin:null,checkout:null,adults:$t(t?.textContent?.replace(/\D/g,"")??null??""),children:null}}}class ns extends ki{constructor(){super("DIRECT_BOOK"),this.parserType="html"}shouldHandle(e){return/direct-book\.com\/properties\/[a-zA-Z0-9-]+\/reservations\/[a-zA-Z0-9-]+/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await lo(()=>Bo(['[data-cy="reservation-reference-id"]']),e=>!e,10)();if(!e)return null;const t=e.textContent;if(!t)return null;const o=t.split(":")[1];return o?o.replace("#","").replace("\n","").trim()??null:null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class as extends ki{constructor(){super("BESTWESTERN"),this.parserType="html"}shouldHandle(e){return/bestwestern\.[.a-z]{2,7}(?:[a-zA-Z_\/]*?)\/reservations\/reservation-details\.(thankyou|rewards)\.html/i.test(e)}async getReservationId(){try{const e=await lo(Uo,e=>!Oo(e,"[1].textContent",null))([".confirmationNumberContainer div"]),t=e?.length?e[1]?.textContent:null;return t?t.trim().replace(/\s/g,"").replace("#",""):null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class rs extends ki{constructor(){super("GETDIRECTO"),this.parserType="html"}shouldHandle(e){return/(secure|select)\.getdirecto\.com\/confirmation\//i.test(e)}async getBookingReference(){try{const e=await lo(Bo,e=>!Oo(e,"textContent",null))([".confirmation-bookingId span"]),t=e?.textContent;return t??null}catch(e){return console.error("Error getting booking reference",e),null}}async getReservationId(){try{const e=new URL(window.location.href).pathname.split("/").pop();if(e)return e}catch(e){console.error("Error getting reservation id from URL",e)}return await this.getBookingReference()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class is extends ki{constructor(){super("ADAGIO_CITY"),this.parserType="html"}shouldHandle(e){return/adagio-city.com(?:[a-zA-Z\/]*?)\/booking\/confirmation\/[a-zA-Z0-9-_]+/i.test(e)}async getReservationId(){try{const e=await lo(()=>Bo([".confirmation-info-top dd"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class ss extends ki{constructor(){super("TEMU")}shouldHandle(e){return/www\.temu\.com\/bgt_payment_success.html/i.test(e)}async getReservationId(){const e=await this.getOrderInfo();if(!e)return null;const t=Oo(e,"parentOrderSn",null);return"string"!=typeof t?(console.warn("parentOrderSn not found or not a string in orderInfo:",e),null):t}async getBookingReference(){const e=await this.getOrderInfo();if(!e)return null;const t=Oo(e,"tradePaySn",null);return"string"!=typeof t?(console.warn("tradePaySn not found or not a string in orderInfo:",e),null):t}async getPrice(){const e=await this.getOrderInfo();if(!e)return null;const t=Oo(e,"tradePayAmount",null),o=Oo(e,"cur",null),n="number"==typeof t?t:null,a="string"==typeof o?o:null;return null!==n&&null!==a||console.warn("Price information incomplete in orderInfo:",e),{currency:a,gross_total_price:n,net_total_price:null,total_tax_price:null}}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){const e=await this.getRawData(),t=Oo(e,"store.orderInfo.sendMessageInfo.emailInfo.email",null);return"string"!=typeof t?null:t}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}cachedRawData=null;async getRawData(){if(this.cachedRawData)return this.cachedRawData;const e=await async function(){try{const e=await async function(){const e=await lo(()=>{const e=Uo(["script"]);if(!e)return[];const t=[...e].filter(e=>e.textContent.includes(cs));return 0===t.length?[]:t},e=>0===e.length,10)();return 0===e.length?null:(e.length>1&&console.warn("Multiple scripts with rawData found:",e),e[0]??null)}();if(!e)return null;const t=e.textContent;if(!t)return console.warn("Script with rawData has no text content:",e),null;const o=t.indexOf(cs);if(-1===o)return console.warn("rawData assignment not found in script content:",t),null;const n=t.indexOf(ls,o);if(-1===n)return console.warn("rawData end not found in script content:",t),null;const a=t.substring(o+cs.length,n);try{return Kt(a)}catch(e){return console.error("Error parsing rawData JSON:",e,"Raw string:",a),null}}catch(e){return console.error("Error getting rawData",e),null}}();return this.cachedRawData=e,e}async getOrderInfo(){const e=await this.getRawData(),t=Oo(e,"store.orderInfo.parentOrderList",null);if(!Array.isArray(t)||0===t.length)return console.warn("No parent order list found in rawData:",e),null;const o=t[0];if(!o)return console.warn("No parent order found in rawData:",e),null;if(t.length>1)return console.warn("Multiple parent orders found in rawData:",t),null;return qt(o)||(console.warn("Invalid orderInfo structure:",o),null)}}const cs="window.rawData=",ls=";document.dispatchEvent";var us=o(340);class ms extends us.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const ps=new ms,ds=new class{trackers=[];activeTracker=null;constructor(){this.trackers=[new xi,new ji,new _i,new Ii,new Ni,new Ti,new Ri,new Mi,new $i,new Ui,new Vi,new qi,new Fi,new Hi,new Ki,new Gi,new Yi,new Qi,new Wi,new Ji,new Zi,new Xi,new es,new os,new ns,new as,new rs,new is,new ss]}async initialize(e){try{const t=this.getTrackerForUrl(e);if(t&&await t.isReservation()){const o=await t.getReservationDetails();if(!o)return void console.error("Tracker identified reservation but details are missing",{url:e,partner:t.partner_name});const n=await Et.getSessionId(),a=await wa();"html"===t.parserType?Et.sendConversionHTMLEvent({...o,session_id:n,user_id:a}):Et.sendConversionEvent({...o,session_id:n,user_id:a}),ps.emit("reservationDetails",o)}}catch(e){console.error("Error handling reservation tracker",e)}}getTrackerForUrl(e){if(this.activeTracker&&this.activeTracker.shouldHandle(e))return this.activeTracker;for(const t of this.trackers)if(t.shouldHandle(e))return this.activeTracker=t,t;return this.activeTracker=null,null}},hs={utm_source:"getdirecto",utm_medium:"extension"};function fs(e){const t=Wa(e);for(const[e,o]of Object.entries(hs))t.searchParams.set(e,o);return t.toString()}function gs(e){try{const t=new URL(e).hostname.toLowerCase();return"getdirecto.com"===t||t.endsWith(".getdirecto.com")}catch{return!1}}function bs(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function ys(e){var t=-1,o=null==e?0:e.length;for(this.__data__=new U;++t<o;)this.add(e[t])}ys.prototype.add=ys.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ys.prototype.has=function(e){return this.__data__.has(e)};const ks=ys,vs=function(e,t){for(var o=-1,n=null==e?0:e.length;++o<n;)if(t(e[o],o,e))return!0;return!1},ws=function(e,t){return e.has(t)},xs=function(e,t,o,n,a,r){var i=1&o,s=e.length,c=t.length;if(s!=c&&!(i&&c>s))return!1;var l=r.get(e),u=r.get(t);if(l&&u)return l==t&&u==e;var m=-1,p=!0,d=2&o?new ks:void 0;for(r.set(e,t),r.set(t,e);++m<s;){var h=e[m],f=t[m];if(n)var g=i?n(f,h,m,t,e,r):n(h,f,m,e,t,r);if(void 0!==g){if(g)continue;p=!1;break}if(d){if(!vs(t,function(e,t){if(!ws(d,t)&&(h===e||a(h,e,o,n,r)))return d.push(t)})){p=!1;break}}else if(h!==f&&!a(h,f,o,n,r)){p=!1;break}}return r.delete(e),r.delete(t),p},js=function(e){var t=-1,o=Array(e.size);return e.forEach(function(e,n){o[++t]=[n,e]}),o},_s=function(e){var t=-1,o=Array(e.size);return e.forEach(function(e){o[++t]=e}),o};var Cs=u?u.prototype:void 0,zs=Cs?Cs.valueOf:void 0;var Ss=Object.prototype.hasOwnProperty;var Es="[object Arguments]",Os="[object Array]",As="[object Object]",Ls=Object.prototype.hasOwnProperty;const Ps=function(t,o,n,a,r,i){var s=oe(t),c=oe(o),l=s?Os:st(t),u=c?Os:st(o),m=(l=l==Es?As:l)==As,p=(u=u==Es?As:u)==As,d=l==u;if(d&&ie(t)){if(!ie(o))return!1;s=!0,m=!1}if(d&&!m)return i||(i=new q),s||be(t)?xs(t,o,n,a,r,i):function(t,o,n,a,r,i,s){switch(n){case"[object DataView]":if(t.byteLength!=o.byteLength||t.byteOffset!=o.byteOffset)return!1;t=t.buffer,o=o.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=o.byteLength||!i(new lt(t),new lt(o)));case"[object Boolean]":case"[object Date]":case"[object Number]":return e(+t,+o);case"[object Error]":return t.name==o.name&&t.message==o.message;case"[object RegExp]":case"[object String]":return t==o+"";case"[object Map]":var c=js;case"[object Set]":var l=1&a;if(c||(c=_s),t.size!=o.size&&!l)return!1;var u=s.get(t);if(u)return u==o;a|=2,s.set(t,o);var m=xs(c(t),c(o),a,r,i,s);return s.delete(t),m;case"[object Symbol]":if(zs)return zs.call(t)==zs.call(o)}return!1}(t,o,l,n,a,r,i);if(!(1&n)){var h=m&&Ls.call(t,"__wrapped__"),f=p&&Ls.call(o,"__wrapped__");if(h||f){var g=h?t.value():t,b=f?o.value():o;return i||(i=new q),r(g,b,n,a,i)}}return!!d&&(i||(i=new q),function(e,t,o,n,a,r){var i=1&o,s=Fe(e),c=s.length;if(c!=Fe(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:Ss.call(t,u)))return!1}var m=r.get(e),p=r.get(t);if(m&&p)return m==t&&p==e;var d=!0;r.set(e,t),r.set(t,e);for(var h=i;++l<c;){var f=e[u=s[l]],g=t[u];if(n)var b=i?n(g,f,u,t,e,r):n(f,g,u,e,t,r);if(!(void 0===b?f===g||a(f,g,o,n,r):b)){d=!1;break}h||(h="constructor"==u)}if(d&&!h){var y=e.constructor,k=t.constructor;y==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof k&&k instanceof k||(d=!1)}return r.delete(e),r.delete(t),d}(t,o,n,a,r,i))},Is=function e(t,o,n,a,r){return t===o||(null==t||null==o||!W(t)&&!W(o)?t!=t&&o!=o:Ps(t,o,n,a,e,r))},Ds=function(e){return e==e&&!y(e)},Ns=function(e,t){return function(o){return null!=o&&o[e]===t&&(void 0!==t||e in Object(o))}},Ts=function(e){var t=function(e){for(var t=Se(e),o=t.length;o--;){var n=t[o],a=e[n];t[o]=[n,a,Ds(a)]}return t}(e);return 1==t.length&&t[0][2]?Ns(t[0][0],t[0][1]):function(o){return o===e||function(e,t,o,n){var a=o.length,r=a,i=!n;if(null==e)return!r;for(e=Object(e);a--;){var s=o[a];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++a<r;){var c=(s=o[a])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var m=new q;if(n)var p=n(l,u,c,e,t,m);if(!(void 0===p?Is(u,l,3,n,m):p))return!1}}return!0}(o,e,t)}},Rs=function(e,t){return null!=e&&t in Object(e)},Ms=function(e,t){return null!=e&&function(e,t,o){for(var n=-1,a=(t=zo(t,e)).length,r=!1;++n<a;){var i=So(t[n]);if(!(r=null!=e&&o(e,i)))break;e=e[i]}return r||++n!=a?r:!!(a=null==e?0:e.length)&&le(a)&&ce(i,a)&&(oe(e)||te(e))}(e,t,Rs)},$s=function(e){return fo(e)?(t=So(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return Eo(t,e)}}(e);var t},Bs=function(e){return"function"==typeof e?e:null==e?Do:"object"==typeof e?oe(e)?(t=e[0],o=e[1],fo(t)&&Ds(o)?Ns(So(t),o):function(e){var n=Oo(e,t);return void 0===n&&n===o?Ms(e,t):Is(o,n,3)}):Ts(e):$s(e);var t,o},Us=function(e,t){if(e!==t){var o=void 0!==e,n=null===e,a=e==e,r=mo(e),i=void 0!==t,s=null===t,c=t==t,l=mo(t);if(!s&&!l&&!r&&e>t||r&&i&&c&&!s&&!l||n&&i&&c||!o&&c||!a)return 1;if(!n&&!r&&!l&&e<t||l&&o&&a&&!n&&!r||s&&o&&a||!i&&a||!c)return-1}return 0},Vs=function(e,t,o){t=t.length?wo(t,function(e){return oe(e)?function(t){return Eo(t,1===e.length?e[0]:e)}:e}):[Do];var n=-1;t=wo(t,me(Bs));var a=function(e,t){var o=-1,n=ze(e)?Array(e.length):[];return Io(e,function(e,a,r){n[++o]=t(e,a,r)}),n}(e,function(e,o,a){return{criteria:wo(t,function(t){return t(e)}),index:++n,value:e}});return function(e,t){var o=e.length;for(e.sort(t);o--;)e[o]=e[o].value;return e}(a,function(e,t){return function(e,t,o){for(var n=-1,a=e.criteria,r=t.criteria,i=a.length,s=o.length;++n<i;){var c=Us(a[n],r[n]);if(c)return n>=s?c:c*("desc"==o[n]?-1:1)}return e.index-t.index}(e,t,o)})},qs=({})=>(0,rr.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,rr.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"white"}),(0,rr.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"white"}),(0,rr.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"white"}),(0,rr.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"white"})]}),Fs=({})=>(0,rr.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,rr.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"#000141"})]}),Hs=({className:e,style:t})=>(0,rr.jsxs)("svg",{width:"100%",height:"100%",className:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,children:[(0,rr.jsxs)("g",{clipPath:"url(#clip0_38_1686)",children:[(0,rr.jsx)("path",{d:"M25.0747 27.7915C23.6506 26.5506 22.2436 25.2944 20.8003 24.0707C20.5503 23.8588 20.388 23.8645 20.1474 24.0344C19.4793 24.5041 18.7366 24.8725 17.9654 25.1875C16.3942 25.829 14.7314 26.0924 13.0075 26.0924C12.2573 26.0924 11.5051 26.0905 10.7548 26.0905C10.5907 26.0905 10.457 26.2089 10.457 26.354V31.728C10.457 31.8731 10.5907 31.9914 10.7548 31.9914C11.6101 31.9914 12.4634 31.9953 13.3187 31.9991C14.2255 32.0029 15.1323 31.9628 16.0124 31.8368C17.5988 31.6096 19.1528 31.2354 20.6285 30.6379C22.2264 29.9907 23.7079 29.1908 25.0633 28.2019C25.279 28.0454 25.2714 27.9633 25.0767 27.7934L25.0747 27.7915Z",fill:"#FDC307"}),(0,rr.jsx)("path",{d:"M13.0791 5.91629C14.1825 5.92774 15.2898 6.00601 16.3417 6.31146C17.5654 6.66655 18.7872 7.05218 19.8276 7.76426C19.9422 7.84254 20.0605 7.91508 20.1617 8.00481C20.3431 8.16708 20.4862 8.14608 20.6523 7.99335C20.8452 7.8139 21.038 7.63254 21.2403 7.46072C22.5175 6.37065 23.7966 5.28248 25.0814 4.19813C25.236 4.06831 25.2914 3.99386 25.0814 3.84304C24.3903 3.34286 23.6801 2.86942 22.9222 2.45133C20.1293 0.906895 17.0747 0.0764508 13.7931 0.0306332C12.7793 0.0153607 11.7675 0.00772438 10.7538 0.00390625C10.5877 0.00390625 10.4541 0.122268 10.4541 0.267358V5.6452C10.4541 5.79029 10.5877 5.90865 10.7519 5.90865C11.527 5.90865 12.3021 5.90865 13.0772 5.91438L13.0791 5.91629Z",fill:"#FDC307"}),(0,rr.jsx)("path",{d:"M7.35178 0H1.31722C1.12631 0 0.97168 0.137453 0.97168 0.305451V31.6829C0.97168 31.8509 1.12631 31.9883 1.31722 31.9883H7.35178C7.54269 31.9883 7.69732 31.8509 7.69732 31.6829V0.305451C7.69732 0.137453 7.54269 0 7.35178 0Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M27.1757 5.75577C27.7905 6.37622 28.3441 7.03485 28.8271 7.74311C29.5334 8.77782 30.0622 9.87936 30.5109 11.021C30.95 12.1378 31.1657 13.2813 31.3108 14.4497C31.3929 15.1255 31.475 15.7994 31.4349 16.4771C31.3146 18.5656 30.8373 20.5797 29.8713 22.5002C29.5258 23.1894 29.1325 23.8633 28.6896 24.4914C28.2467 25.1175 27.7733 25.7571 27.1013 26.3088C26.7538 25.9881 26.4102 25.6616 26.0551 25.3447C24.8829 24.3004 23.7108 23.2581 22.531 22.2215C22.384 22.0917 22.3687 22.0306 22.51 21.8721C23.3156 20.971 23.854 19.9401 24.2434 18.8539C24.6653 17.6779 24.8505 16.4561 24.6844 15.2362C24.5756 14.4306 24.4515 13.6116 24.1308 12.8289C23.8062 12.0347 23.3881 11.2902 22.8842 10.58C22.7562 10.4005 22.6455 10.2058 22.4852 10.0531C22.3248 9.89845 22.3362 9.81063 22.5023 9.66936C23.6745 8.67283 24.8562 7.68775 25.9998 6.6664C26.351 6.35331 26.7195 6.04404 27.1013 5.75195C27.1261 5.75195 27.1509 5.75577 27.1757 5.75577Z",fill:"#FDC307"})]}),(0,rr.jsx)("defs",{children:(0,rr.jsx)("clipPath",{id:"clip0_38_1686",children:(0,rr.jsx)("rect",{width:"32",height:"32",fill:"white"})})})]}),Ks=({style:e})=>(0,rr.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e,children:(0,rr.jsx)("path",{d:"M5.50008 14.6666V7.33331M2.16675 8.66665V13.3333C2.16675 14.0697 2.7637 14.6666 3.50008 14.6666H12.4509C13.4381 14.6666 14.2776 13.9464 14.4277 12.9708L15.1456 8.30409C15.332 7.09258 14.3946 5.99998 13.1689 5.99998H10.8334C10.4652 5.99998 10.1667 5.7015 10.1667 5.33331V2.97721C10.1667 2.06931 9.43075 1.33331 8.52286 1.33331C8.30631 1.33331 8.11007 1.46084 8.02212 1.65873L5.67604 6.93741C5.56904 7.17816 5.33029 7.33331 5.06683 7.33331H3.50008C2.7637 7.33331 2.16675 7.93027 2.16675 8.66665Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})}),Gs=({className:e=""})=>(0,rr.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,rr.jsx)("path",{d:"M10.3602 7.52685L6.58682 3.76019C6.52484 3.6977 6.45111 3.64811 6.36987 3.61426C6.28863 3.58041 6.20149 3.56299 6.11348 3.56299C6.02548 3.56299 5.93834 3.58041 5.8571 3.61426C5.77586 3.64811 5.70213 3.6977 5.64015 3.76019C5.51598 3.8851 5.44629 4.05406 5.44629 4.23019C5.44629 4.40631 5.51598 4.57528 5.64015 4.70019L8.94015 8.03352L5.64015 11.3335C5.51598 11.4584 5.44629 11.6274 5.44629 11.8035C5.44629 11.9796 5.51598 12.1486 5.64015 12.2735C5.70189 12.3365 5.77552 12.3866 5.85677 12.421C5.93802 12.4553 6.02528 12.4732 6.11348 12.4735C6.20169 12.4732 6.28894 12.4553 6.37019 12.421C6.45144 12.3866 6.52507 12.3365 6.58682 12.2735L10.3602 8.50685C10.4278 8.44443 10.4818 8.36866 10.5188 8.28433C10.5557 8.19999 10.5748 8.10892 10.5748 8.01685C10.5748 7.92479 10.5557 7.83372 10.5188 7.74938C10.4818 7.66505 10.4278 7.58928 10.3602 7.52685V7.52685Z",fill:"currentColor"})}),Ys=({className:e="",style:t={}})=>(0,rr.jsxs)("svg",{width:"29",height:"24",viewBox:"0 0 29 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,style:t,children:[(0,rr.jsx)("path",{d:"M0.81897 1.81898C1.34335 1.29459 2.05456 1 2.79615 1H25.1654C25.9069 1 26.6182 1.29459 27.1425 1.81898C27.6669 2.34335 27.9615 3.05458 27.9615 3.79614V8.78571C27.9615 9.11857 27.6886 9.38196 27.3634 9.45315C26.8451 9.56668 26.3654 9.82636 25.9843 10.2074C25.4599 10.7318 25.1654 11.443 25.1654 12.1846C25.1654 12.9262 25.4599 13.6374 25.9843 14.1618C26.3654 14.5428 26.8451 14.8025 27.3634 14.9161C27.6886 14.9873 27.9615 15.2506 27.9615 15.5835V20.5731C27.9615 21.3146 27.6669 22.0259 27.1425 22.5503C26.6182 23.0746 25.9069 23.3692 25.1654 23.3692H2.79615C2.05456 23.3692 1.34335 23.0746 0.81897 22.5503C0.294594 22.0259 0 21.3146 0 20.5731V15.5835C0 15.2506 0.272938 14.9873 0.598128 14.9161C1.11644 14.8025 1.59613 14.5428 1.97717 14.1618C2.50156 13.6374 2.79615 12.9262 2.79615 12.1846C2.79615 11.443 2.50156 10.7318 1.97717 10.2074C1.59613 9.82636 1.11644 9.56668 0.598128 9.45315C0.272938 9.38196 0 9.11857 0 8.78571V3.79614C0 3.05458 0.294594 2.34335 0.81897 1.81898Z",fill:"#FDC307"}),(0,rr.jsx)("path",{d:"M27.789 1.17254L27.7889 1.17252C27.3584 0.741918 26.7743 0.5 26.1654 0.5H3.79615C3.18717 0.5 2.60314 0.741915 2.17252 1.17253C1.74192 1.60314 1.5 2.18719 1.5 2.79614V7.78571C1.5 7.80892 1.50815 7.83953 1.5422 7.87591C1.57863 7.91484 1.63663 7.94973 1.70505 7.96471L1.70512 7.96473C2.31604 8.09855 2.88153 8.40465 3.33075 8.85391C3.94889 9.47202 4.29615 10.3104 4.29615 11.1846C4.29615 12.0588 3.9489 12.8972 3.33075 13.5153C2.88153 13.9646 2.31604 14.2707 1.70512 14.4045L1.70505 14.4045C1.63663 14.4195 1.57863 14.4544 1.5422 14.4933C1.50815 14.5297 1.5 14.5603 1.5 14.5835V19.5731C1.5 20.182 1.74191 20.7661 2.17251 21.1967C2.60313 21.6273 3.18718 21.8692 3.79615 21.8692H26.1654C26.7743 21.8692 27.3584 21.6273 27.789 21.1967C28.2196 20.7661 28.4615 20.182 28.4615 19.5731V14.5835C28.4615 14.5603 28.4534 14.5297 28.4193 14.4933C28.3829 14.4544 28.3249 14.4195 28.2565 14.4045L28.2564 14.4045C27.6455 14.2707 27.08 13.9646 26.6308 13.5153C26.6308 13.5153 26.6308 13.5153 26.6308 13.5153M27.789 1.17254L26.9843 9.20744C26.4599 9.73178 26.1654 10.443 26.1654 11.1846C26.1654 11.9262 26.4599 12.6374 26.9843 13.1618L26.6308 13.5153M27.789 1.17254C28.2196 1.60315 28.4615 2.1872 28.4615 2.79614V7.78571C28.4615 7.8089 28.4534 7.83952 28.4193 7.87591C28.3829 7.91484 28.3249 7.94974 28.2565 7.96471L28.2564 7.96473C27.6455 8.09855 27.08 8.40462 26.6308 8.85387M27.789 1.17254L26.6308 8.85387M26.6308 13.5153C26.0126 12.8972 25.6654 12.0588 25.6654 11.1846C25.6654 10.3104 26.0126 9.47204 26.6308 8.85391M26.6308 13.5153V8.85391M26.6308 8.85391C26.6308 8.8539 26.6308 8.85388 26.6308 8.85387M26.6308 8.85391L26.6308 8.85387",fill:"#000141",stroke:"#FDC307"}),(0,rr.jsx)("path",{d:"M15.779 12.7709C14.4908 14.4694 13.203 16.1677 11.9214 17.8705C11.7811 18.0567 11.6186 18.2124 11.4182 18.3158C11.2155 18.4204 10.9905 18.4627 10.7403 18.4463C10.5788 18.4356 10.4148 18.438 10.2381 18.4406L10.2341 18.4407C10.0853 18.4429 9.92771 18.4453 9.76896 18.4381C9.60837 18.4307 9.41512 18.3864 9.25901 18.2838C9.10235 18.1815 9.00935 18.0237 9.00066 17.8415C8.99252 17.6697 9.06061 17.5059 9.16241 17.3695C9.42982 17.011 9.70024 16.6551 9.9699 16.3003L9.98153 16.285L9.98236 16.2839L9.98485 16.2806L9.98696 16.2778C10.0951 16.1355 10.2031 15.9934 10.3109 15.8512L18.1623 5.48965C18.2352 5.39339 18.3086 5.29773 18.3815 5.20279C18.5489 4.98468 18.7132 4.77051 18.8699 4.55174C18.9944 4.37797 19.1449 4.22651 19.3342 4.12598C19.5267 4.02368 19.7434 3.98255 19.9842 4.00675C20.0696 4.01527 20.159 4.01333 20.2679 4.01057C20.3151 4.00935 20.3672 4.00802 20.4187 4.00802L20.723 4.00824L21.0269 4.00841C21.2472 4.00841 21.5392 4.06498 21.697 4.36928C21.776 4.52151 21.7838 4.67319 21.7438 4.8128C21.7075 4.93979 21.6345 5.04558 21.5753 5.12352C20.3497 6.73933 19.1249 8.35589 17.9002 9.97239L17.6144 10.3496L17.6099 10.3556L17.036 11.1129C16.6321 11.646 16.228 12.1788 15.824 12.7116L15.7813 12.7678L15.779 12.7709Z",fill:"#FDC307"}),(0,rr.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.06166 5.59643C6.964 6.35766 7.00404 7.81567 7.03529 8.21069C7.12611 9.36352 7.6183 10.2209 8.58998 10.699C9.23256 11.0149 9.90736 11.0481 10.5919 10.9543C11.9122 10.7742 12.8683 9.73754 12.9601 8.30151C13.0158 7.44067 13.0128 6.56811 12.9552 5.70776C12.8839 4.65258 12.3898 3.86059 11.5245 3.38842C10.9884 3.09594 10.4357 2.97534 9.87709 3.00415C9.5597 3.02075 9.24037 3.08569 8.92201 3.19506C7.86634 3.55786 7.21986 4.36401 7.06166 5.59643ZM10.0001 5.00024C9.4474 5.00024 9.00013 5.44799 9.00013 6.00024V8.00024C9.00013 8.55249 9.4474 9.00024 10.0001 9.00024C10.2911 9.00024 10.5529 8.8767 10.7355 8.67895C10.8995 8.50024 11.0001 8.26196 11.0001 8.00024V6.00024C11.0001 5.44799 10.5529 5.00024 10.0001 5.00024Z",fill:"#FDC307"}),(0,rr.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0617 13.5964C17.964 14.3577 18.004 15.8157 18.0353 16.2107C18.1261 17.3635 18.6183 18.2209 19.59 18.699C20.2326 19.0149 20.9074 19.0481 21.5919 18.9543C22.9122 18.7742 23.8683 17.7375 23.9601 16.3015C24.0158 15.4407 24.0128 14.5681 23.9552 13.7078C23.8839 12.6526 23.3898 11.8606 22.5245 11.3884C21.9884 11.0959 21.4357 10.9753 20.8771 11.0041C20.5597 11.0207 20.2404 11.0857 19.922 11.1951C18.8663 11.5579 18.2199 12.364 18.0617 13.5964ZM21.0001 13.0002C20.4474 13.0002 20.0001 13.448 20.0001 14.0002V16.0002C20.0001 16.5525 20.4474 17.0002 21.0001 17.0002C21.2911 17.0002 21.5529 16.8767 21.7355 16.679C21.8995 16.5002 22.0001 16.262 22.0001 16.0002V14.0002C22.0001 13.448 21.5529 13.0002 21.0001 13.0002Z",fill:"#FDC307"})]}),Qs=({style:e})=>(0,rr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,rr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v12m-3-2.818.879.659c1.171.879 3.07.879 4.242 0 1.172-.879 1.172-2.303 0-3.182C13.536 12.219 12.768 12 12 12c-.725 0-1.45-.22-2.003-.659-1.106-.879-1.106-2.303 0-3.182s2.9-.879 4.006 0l.415.33M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})}),Ws=({style:e})=>(0,rr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,rr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"})}),Js=({style:e})=>(0,rr.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,rr.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 6v.75m0 3v.75m0 3v.75m0 3V18m-9-5.25h5.25M7.5 15h3M3.375 5.25c-.621 0-1.125.504-1.125 1.125v3.026a2.999 2.999 0 0 1 0 5.198v3.026c0 .621.504 1.125 1.125 1.125h17.25c.621 0 1.125-.504 1.125-1.125v-3.026a2.999 2.999 0 0 1 0-5.198V6.375c0-.621-.504-1.125-1.125-1.125H3.375Z"})}),Zs="#000141",Xs=({style:e,monochromatic:t,className:o})=>{const n=t?Zs:"#FDC307";return(0,rr.jsxs)("svg",{className:o,style:e,width:"70",height:"35",viewBox:"0 0 655 188",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,rr.jsxs)("g",{clipPath:"url(#clip0_2736_1130)",children:[(0,rr.jsx)("path",{d:"M140.53 151.42C133.176 145.377 125.919 139.255 118.468 133.294C117.177 132.263 116.339 132.287 115.094 133.114C111.644 135.406 107.817 137.199 103.828 138.733C95.7161 141.854 87.1346 143.141 78.2395 143.137C74.3629 143.137 70.4864 143.127 66.6099 143.125C65.7599 143.125 65.0703 143.701 65.0703 144.41V170.591C65.0703 171.299 65.7575 171.872 66.6051 171.874C71.0156 171.882 75.4261 171.896 79.8389 171.914C84.5152 171.934 89.2034 171.738 93.7455 171.123C101.934 170.014 109.951 168.19 117.572 165.28C125.821 162.131 133.468 158.23 140.462 153.408C141.576 152.641 141.533 152.243 140.53 151.42Z",fill:n}),(0,rr.jsx)("path",{d:"M78.6076 44.8196C84.3038 44.8716 90.0216 45.2612 95.4449 46.7479C101.764 48.4784 108.066 50.3608 113.434 53.8298C114.021 54.2075 114.638 54.5651 115.156 55.0008C116.094 55.7901 116.832 55.6922 117.684 54.9448C118.682 54.0676 119.676 53.1863 120.72 52.3451C127.317 47.0377 133.918 41.7343 140.543 36.4509C141.338 35.8175 141.623 35.4558 140.546 34.7184C136.983 32.2805 133.315 29.9785 129.405 27.9383C114.988 20.4148 99.2281 16.3704 82.2925 16.1446C77.0656 16.0746 71.8362 16.0347 66.6093 16.0147C65.7569 16.0107 65.0625 16.5882 65.0625 17.2996V43.5048C65.0625 44.2142 65.7521 44.7896 66.6021 44.7876C70.6031 44.7837 74.6041 44.7837 78.6052 44.8196H78.6076Z",fill:n}),(0,rr.jsx)("path",{d:"M49.0472 15.9951H17.901C16.9158 15.9951 16.1172 16.6616 16.1172 17.4838V170.371C16.1172 171.193 16.9158 171.86 17.901 171.86H49.0472C50.0324 171.86 50.8311 171.193 50.8311 170.371V17.4838C50.8311 16.6616 50.0324 15.9951 49.0472 15.9951Z",fill:Zs}),(0,rr.jsx)("path",{d:"M151.361 44.0407C154.534 47.064 157.395 50.2752 159.888 53.7203C163.537 58.7659 166.266 64.1272 168.582 69.6944C170.845 75.1396 171.965 80.7108 172.707 86.3998C173.136 89.693 173.553 92.9761 173.351 96.2792C172.729 106.452 170.27 116.266 165.285 125.632C163.499 128.989 161.475 132.274 159.181 135.331C156.892 138.383 154.448 141.498 150.983 144.186C149.19 142.623 147.418 141.028 145.584 139.486C139.538 134.398 133.485 129.317 127.394 124.265C126.635 123.635 126.553 123.33 127.281 122.564C131.442 118.176 134.215 113.153 136.229 107.861C138.41 102.132 139.358 96.1773 138.508 90.2325C137.948 86.3039 137.304 82.3194 135.654 78.5007C133.981 74.6321 131.823 71.0052 129.216 67.5402C128.557 66.665 127.983 65.7198 127.156 64.9685C126.33 64.2191 126.383 63.7915 127.243 63.1021C133.289 58.2483 139.387 53.4425 145.296 48.4688C147.114 46.9401 149.012 45.4355 150.981 44.0127C151.108 44.0207 151.237 44.0287 151.364 44.0347L151.361 44.0407Z",fill:n}),(0,rr.jsx)("path",{d:"M151.356 44.0383C151.229 44.0303 151.1 44.0243 150.973 44.0163C151.042 43.9044 151.112 43.7925 151.179 43.6826C151.236 43.8025 151.296 43.9204 151.353 44.0403L151.356 44.0383Z",fill:Zs}),(0,rr.jsx)("path",{d:"M210.432 170.988H186.687V85.6419H210.432V170.988ZM198.56 73.9412C194.889 73.9412 191.792 72.6794 189.268 70.1557C186.744 67.632 185.482 64.5347 185.482 60.8639C185.482 57.1931 186.744 54.0959 189.268 51.5722C191.792 48.9338 194.889 47.6146 198.56 47.6146C202.23 47.6146 205.328 48.9338 207.851 51.5722C210.375 54.0959 211.637 57.1931 211.637 60.8639C211.637 64.5347 210.375 67.632 207.851 70.1557C205.328 72.6794 202.23 73.9412 198.56 73.9412ZM251.545 97.5147C252.692 95.6793 254.011 93.9586 255.502 92.3526C256.994 90.6319 258.772 89.1407 260.837 87.8788C262.901 86.5023 265.253 85.4125 267.891 84.6095C270.53 83.8065 273.512 83.405 276.839 83.405C280.739 83.405 285.27 84.0933 290.433 85.4698L288.196 106.634C286.934 106.405 285.672 106.118 284.41 105.774C283.378 105.545 282.231 105.373 280.969 105.258C279.707 105.028 278.56 104.914 277.527 104.914C273.857 104.914 270.415 105.43 267.203 106.462C264.106 107.495 261.41 108.929 259.116 110.764C256.822 112.599 254.986 114.836 253.61 117.475C252.233 119.998 251.545 122.752 251.545 125.734V170.988H227.799V85.6419H249.308L251.545 97.5147ZM341.212 83.2329C347.636 83.2329 353.486 84.5521 358.763 87.1905C364.04 89.7142 368.571 93.0982 372.356 97.3426C376.142 101.472 379.067 106.29 381.132 111.796C383.197 117.188 384.229 122.752 384.229 128.487C384.229 131.929 383.77 135.599 382.853 139.5H321.94C324.234 143.4 327.504 146.727 331.748 149.48C335.992 152.118 340.581 153.437 345.514 153.437C350.446 153.437 354.748 153.036 358.419 152.233C362.204 151.43 365.76 150.397 369.087 149.135L377.002 163.761C372.758 166.744 367.883 169.038 362.376 170.644C356.985 172.25 351.192 173.053 344.997 173.053C338.229 173.053 331.92 171.906 326.07 169.612C320.219 167.203 315.115 163.991 310.756 159.976C306.396 155.961 302.955 151.2 300.431 145.694C297.908 140.188 296.646 134.338 296.646 128.143C296.646 122.063 297.793 116.328 300.087 110.936C302.381 105.43 305.536 100.669 309.551 96.6543C313.681 92.5247 318.441 89.2554 323.833 86.8464C329.224 84.4374 335.017 83.2329 341.212 83.2329ZM360.656 121.088C359.279 116.156 356.813 112.141 353.257 109.043C349.701 105.946 345.686 104.397 341.212 104.397C336.623 104.397 332.436 105.946 328.651 109.043C324.98 112.141 322.456 116.156 321.08 121.088H360.656ZM443.374 104.397C440.506 104.397 437.81 105.086 435.287 106.462C432.763 107.724 430.526 109.502 428.576 111.796C426.741 113.976 425.249 116.557 424.102 119.54C423.07 122.522 422.554 125.734 422.554 129.175C422.554 132.617 423.07 135.771 424.102 138.639C425.249 141.392 426.741 143.801 428.576 145.866C430.526 147.816 432.763 149.365 435.287 150.512C437.81 151.659 440.506 152.233 443.374 152.233C446.93 152.233 450.371 151.43 453.698 149.824C457.139 148.103 460.065 145.751 462.474 142.769L477.099 157.223C473.085 162.041 468.152 165.884 462.302 168.751C456.451 171.619 450.142 173.053 443.374 173.053C437.179 173.053 431.386 171.906 425.995 169.612C420.603 167.203 415.9 163.991 411.885 159.976C407.87 155.846 404.658 151.086 402.249 145.694C399.955 140.188 398.808 134.338 398.808 128.143C398.808 121.949 399.955 116.156 402.249 110.764C404.658 105.258 407.87 100.497 411.885 96.4823C415.9 92.3526 420.603 89.1407 425.995 86.8464C431.386 84.4374 437.179 83.2329 443.374 83.2329C450.371 83.2329 456.853 84.7242 462.818 87.7067C468.783 90.6893 473.83 94.7616 477.96 99.9237L461.441 112.657C458.115 109.56 455.075 107.437 452.322 106.29C449.683 105.028 446.701 104.397 443.374 104.397ZM521.433 140.36C521.433 144.375 522.637 147.472 525.046 149.652C527.57 151.831 530.839 152.921 534.854 152.921C538.066 152.921 541.278 152.29 544.49 151.028V170.988C541.622 171.906 538.582 172.652 535.37 173.225C532.159 173.913 528.947 174.258 525.735 174.258C522.064 174.258 518.565 173.799 515.238 172.881C511.912 171.963 508.929 170.415 506.291 168.235C503.652 165.941 501.53 162.958 499.924 159.288C498.433 155.502 497.687 150.856 497.687 145.35V106.806H485.47V90.804L497.687 85.6419V66.5422H521.433V85.6419H544.49V106.806H521.433V140.36ZM597.799 83.2329C603.879 83.2329 609.615 84.4374 615.006 86.8464C620.398 89.1407 625.101 92.3526 629.116 96.4823C633.131 100.497 636.286 105.258 638.58 110.764C640.989 116.156 642.193 121.949 642.193 128.143C642.193 134.338 640.989 140.188 638.58 145.694C636.286 151.086 633.131 155.846 629.116 159.976C625.101 163.991 620.398 167.203 615.006 169.612C609.615 171.906 603.879 173.053 597.799 173.053C591.605 173.053 585.812 171.906 580.42 169.612C575.029 167.203 570.326 163.991 566.311 159.976C562.296 155.846 559.084 151.086 556.675 145.694C554.381 140.188 553.233 134.338 553.233 128.143C553.233 121.949 554.381 116.156 556.675 110.764C559.084 105.258 562.296 100.497 566.311 96.4823C570.326 92.3526 575.029 89.1407 580.42 86.8464C585.812 84.4374 591.605 83.2329 597.799 83.2329ZM597.799 152.233C600.667 152.233 603.306 151.659 605.715 150.512C608.238 149.365 610.418 147.816 612.253 145.866C614.203 143.801 615.695 141.392 616.727 138.639C617.874 135.771 618.448 132.617 618.448 129.175C618.448 125.734 617.874 122.522 616.727 119.54C615.695 116.557 614.203 113.976 612.253 111.796C610.418 109.502 608.238 107.724 605.715 106.462C603.306 105.086 600.667 104.397 597.799 104.397C594.932 104.397 592.236 105.086 589.712 106.462C587.188 107.724 584.952 109.502 583.001 111.796C581.166 113.976 579.675 116.557 578.528 119.54C577.495 122.522 576.979 125.734 576.979 129.175C576.979 132.617 577.495 135.771 578.528 138.639C579.675 141.392 581.166 143.801 583.001 145.866C584.952 147.816 587.188 149.365 589.712 150.512C592.236 151.659 594.932 152.233 597.799 152.233Z",fill:Zs})]}),(0,rr.jsx)("defs",{children:(0,rr.jsx)("clipPath",{id:"clip0_2736_1130",children:(0,rr.jsx)("rect",{width:"655",height:"188",fill:"white"})})})]})};function ec(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(o.length?" "+o.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var tc={};function oc(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==o.g?o.g:"undefined"!=typeof self?self:tc}var nc=Object.assign,ac=Object.getOwnPropertyDescriptor,rc=Object.defineProperty,ic=Object.prototype,sc=[];Object.freeze(sc);var cc={};Object.freeze(cc);var lc="undefined"!=typeof Proxy,uc=Object.toString();function mc(){lc||ec("Proxy not available")}function pc(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var dc=function(){};function hc(e){return"function"==typeof e}function fc(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function gc(e){return null!==e&&"object"==typeof e}function bc(e){if(!gc(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var o=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof o&&o.toString()===uc}function yc(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function kc(e,t,o){rc(e,t,{enumerable:!1,writable:!0,configurable:!0,value:o})}function vc(e,t,o){rc(e,t,{enumerable:!1,writable:!1,configurable:!0,value:o})}function wc(e,t){var o="isMobX"+e;return t.prototype[o]=!0,function(e){return gc(e)&&!0===e[o]}}function xc(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function jc(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}var _c=void 0!==Object.getOwnPropertySymbols,Cc="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:_c?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function zc(e){return null===e?null:"object"==typeof e?""+e:e}function Sc(e,t){return ic.hasOwnProperty.call(e,t)}var Ec=Object.getOwnPropertyDescriptors||function(e){var t={};return Cc(e).forEach(function(o){t[o]=ac(e,o)}),t};function Oc(e,t){return!!(e&t)}function Ac(e,t,o){return o?e|=t:e&=~t,e}function Lc(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o<t;o++)n[o]=e[o];return n}function Pc(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Mc(n.key),n)}}function Ic(e,t,o){return t&&Pc(e.prototype,t),o&&Pc(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function Dc(e,t){var o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return(o=o.call(e)).next.bind(o);if(Array.isArray(e)||(o=function(e,t){if(e){if("string"==typeof e)return Lc(e,t);var o={}.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Lc(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){o&&(e=o);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Nc(){return Nc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)({}).hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},Nc.apply(null,arguments)}function Tc(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Rc(e,t)}function Rc(e,t){return Rc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Rc(e,t)}function Mc(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var $c=Symbol("mobx-stored-annotations");function Bc(e){return Object.assign(function(t,o){if(Vc(o))return e.decorate_20223_(t,o);Uc(t,o,e)},e)}function Uc(e,t,o){Sc(e,$c)||kc(e,$c,Nc({},e[$c])),function(e){return e.annotationType_===Wc}(o)||(e[$c][t]=o)}function Vc(e){return"object"==typeof e&&"string"==typeof e.kind}var qc=Symbol("mobx administration"),Fc=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=Kl.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return fu(this)},t.reportChanged=function(){du(),gu(this),hu()},t.toString=function(){return this.name_},Ic(e,[{key:"isBeingObserved",get:function(){return Oc(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return Oc(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return Oc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=Ac(this.flags_,e.diffValueMask_,1===t)}}])}();Fc.isBeingObservedMask_=1,Fc.isPendingUnobservationMask_=2,Fc.diffValueMask_=4;var Hc=wc("Atom",Fc);function Kc(e,t,o){void 0===t&&(t=dc),void 0===o&&(o=dc);var n=new Fc(e);return t!==dc&&Ru(Du,n,t,undefined),o!==dc&&Tu(n,o),n}var Gc={identity:function(e,t){return e===t},structural:function(e,t){return Zm(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Zm(e,t,1)}};function Yc(e,t,o){return Yu(e)?e:Array.isArray(e)?Pl.array(e,{name:o}):bc(e)?Pl.object(e,void 0,{name:o}):xc(e)?Pl.map(e,{name:o}):jc(e)?Pl.set(e,{name:o}):"function"!=typeof e||Pu(e)||Gu(e)?e:yc(e)?Hu(e):Lu(o,e)}function Qc(e){return e}var Wc="override";function Jc(e,t){return{annotationType_:e,options_:t,make_:Zc,extend_:Xc,decorate_20223_:el}}function Zc(e,t,o,n){var a;if(null!=(a=this.options_)&&a.bound)return null===this.extend_(e,t,o,!1)?0:1;if(n===e.target_)return null===this.extend_(e,t,o,!1)?0:2;if(Pu(o.value))return 1;var r=tl(e,this,t,o,!1);return rc(n,t,r),2}function Xc(e,t,o,n){var a=tl(e,this,t,o);return e.defineProperty_(t,a,n)}function el(e,t){var o,n=t.kind,a=t.name,r=t.addInitializer,i=this,s=function(e){var t,o,n,r;return Ul(null!=(t=null==(o=i.options_)?void 0:o.name)?t:a.toString(),e,null!=(n=null==(r=i.options_)?void 0:r.autoAction)&&n)};return"field"==n?function(e){var t,o=e;return Pu(o)||(o=s(o)),null!=(t=i.options_)&&t.bound&&((o=o.bind(this)).isMobxAction=!0),o}:"method"==n?(Pu(e)||(e=s(e)),null!=(o=this.options_)&&o.bound&&r(function(){var e=this,t=e[a].bind(e);t.isMobxAction=!0,e[a]=t}),e):void ec("Cannot apply '"+i.annotationType_+"' to '"+String(a)+"' (kind: "+n+"):\n'"+i.annotationType_+"' can only be used on properties with a function value.")}function tl(e,t,o,n,a){var r,i,s,c,l,u,m,p;void 0===a&&(a=lu.safeDescriptors),p=n,t.annotationType_,p.value;var d,h=n.value;return null!=(r=t.options_)&&r.bound&&(h=h.bind(null!=(d=e.proxy_)?d:e.target_)),{value:Ul(null!=(i=null==(s=t.options_)?void 0:s.name)?i:o.toString(),h,null!=(c=null==(l=t.options_)?void 0:l.autoAction)&&c,null!=(u=t.options_)&&u.bound?null!=(m=e.proxy_)?m:e.target_:void 0),configurable:!a||e.isPlainObject_,enumerable:!1,writable:!a}}function ol(e,t){return{annotationType_:e,options_:t,make_:nl,extend_:al,decorate_20223_:rl}}function nl(e,t,o,n){var a;if(n===e.target_)return null===this.extend_(e,t,o,!1)?0:2;if(null!=(a=this.options_)&&a.bound&&(!Sc(e.target_,t)||!Gu(e.target_[t]))&&null===this.extend_(e,t,o,!1))return 0;if(Gu(o.value))return 1;var r=il(e,this,0,o,!1,!1);return rc(n,t,r),2}function al(e,t,o,n){var a,r=il(e,this,0,o,null==(a=this.options_)?void 0:a.bound);return e.defineProperty_(t,r,n)}function rl(e,t){var o,n=t.name,a=t.addInitializer;return Gu(e)||(e=Hu(e)),null!=(o=this.options_)&&o.bound&&a(function(){var e=this,t=e[n].bind(e);t.isMobXFlow=!0,e[n]=t}),e}function il(e,t,o,n,a,r){var i;void 0===r&&(r=lu.safeDescriptors),i=n,t.annotationType_,i.value;var s,c=n.value;return Gu(c)||(c=Hu(c)),a&&((c=c.bind(null!=(s=e.proxy_)?s:e.target_)).isMobXFlow=!0),{value:c,configurable:!r||e.isPlainObject_,enumerable:!1,writable:!r}}function sl(e,t){return{annotationType_:e,options_:t,make_:cl,extend_:ll,decorate_20223_:ul}}function cl(e,t,o){return null===this.extend_(e,t,o,!1)?0:1}function ll(e,t,o,n){return a=o,this.annotationType_,a.get,e.defineComputedProperty_(t,Nc({},this.options_,{get:o.get,set:o.set}),n);var a}function ul(e,t){var o=this,n=t.name;return(0,t.addInitializer)(function(){var t=Am(this)[qc],a=Nc({},o.options_,{get:e,context:this});a.name||(a.name="ObservableObject."+n.toString()),t.values_.set(n,new Hl(a))}),function(){return this[qc].getObservablePropValue_(n)}}function ml(e,t){return{annotationType_:e,options_:t,make_:pl,extend_:dl,decorate_20223_:hl}}function pl(e,t,o){return null===this.extend_(e,t,o,!1)?0:1}function dl(e,t,o,n){var a,r;return this.annotationType_,e.defineObservableProperty_(t,o.value,null!=(a=null==(r=this.options_)?void 0:r.enhancer)?a:Yc,n)}function hl(e,t){var o=this,n=t.kind,a=t.name,r=new WeakSet;function i(e,t){var n,i,s=Am(e)[qc],c=new Fl(t,null!=(n=null==(i=o.options_)?void 0:i.enhancer)?n:Yc,"ObservableObject."+a.toString(),!1);s.values_.set(a,c),r.add(e)}if("accessor"==n)return{get:function(){return r.has(this)||i(this,e.get.call(this)),this[qc].getObservablePropValue_(a)},set:function(e){return r.has(this)||i(this,e),this[qc].setObservablePropValue_(a,e)},init:function(e){return r.has(this)||i(this,e),e}}}var fl="true",gl=bl();function bl(e){return{annotationType_:fl,options_:e,make_:yl,extend_:kl,decorate_20223_:vl}}function yl(e,t,o,n){var a,r,i,s;if(o.get)return Tl.make_(e,t,o,n);if(o.set){var c=Pu(o.set)?o.set:Ul(t.toString(),o.set);return n===e.target_?null===e.defineProperty_(t,{configurable:!lu.safeDescriptors||e.isPlainObject_,set:c})?0:2:(rc(n,t,{configurable:!0,set:c}),2)}if(n!==e.target_&&"function"==typeof o.value)return yc(o.value)?(null!=(s=this.options_)&&s.autoBind?Hu.bound:Hu).make_(e,t,o,n):(null!=(i=this.options_)&&i.autoBind?Lu.bound:Lu).make_(e,t,o,n);var l,u=!1===(null==(a=this.options_)?void 0:a.deep)?Pl.ref:Pl;return"function"==typeof o.value&&null!=(r=this.options_)&&r.autoBind&&(o.value=o.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,o,n)}function kl(e,t,o,n){var a,r,i;return o.get?Tl.extend_(e,t,o,n):o.set?e.defineProperty_(t,{configurable:!lu.safeDescriptors||e.isPlainObject_,set:Ul(t.toString(),o.set)},n):("function"==typeof o.value&&null!=(a=this.options_)&&a.autoBind&&(o.value=o.value.bind(null!=(i=e.proxy_)?i:e.target_)),(!1===(null==(r=this.options_)?void 0:r.deep)?Pl.ref:Pl).extend_(e,t,o,n))}function vl(e,t){ec("'"+this.annotationType_+"' cannot be used as a decorator")}var wl={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function xl(e){return e||wl}Object.freeze(wl);var jl=ml("observable"),_l=ml("observable.ref",{enhancer:Qc}),Cl=ml("observable.shallow",{enhancer:function(e,t,o){return null==e||Im(e)||gm(e)||wm(e)||Cm(e)?e:Array.isArray(e)?Pl.array(e,{name:o,deep:!1}):bc(e)?Pl.object(e,void 0,{name:o,deep:!1}):xc(e)?Pl.map(e,{name:o,deep:!1}):jc(e)?Pl.set(e,{name:o,deep:!1}):void 0}}),zl=ml("observable.struct",{enhancer:function(e,t){return Zm(e,t)?t:e}}),Sl=Bc(jl);function El(e){return!0===e.deep?Yc:!1===e.deep?Qc:(t=e.defaultDecorator)&&null!=(o=null==(n=t.options_)?void 0:n.enhancer)?o:Yc;var t,o,n}function Ol(e,t,o){return Vc(t)?jl.decorate_20223_(e,t):fc(t)?void Uc(e,t,jl):Yu(e)?e:bc(e)?Pl.object(e,t,o):Array.isArray(e)?Pl.array(e,t):xc(e)?Pl.map(e,t):jc(e)?Pl.set(e,t):"object"==typeof e&&null!==e?e:Pl.box(e,t)}nc(Ol,Sl);var Al,Ll,Pl=nc(Ol,{box:function(e,t){var o=xl(t);return new Fl(e,El(o),o.name,!0,o.equals)},array:function(e,t){var o=xl(t);return(!1===lu.useProxies||!1===o.proxy?Hm:lm)(e,El(o),o.name)},map:function(e,t){var o=xl(t);return new vm(e,El(o),o.name)},set:function(e,t){var o=xl(t);return new _m(e,El(o),o.name)},object:function(e,t,o){return Qm(function(){return function(e,t,o,n){var a=Ec(t);return Qm(function(){var t=Am(e,n)[qc];Cc(a).forEach(function(e){t.extend_(e,a[e],!o||!(e in o)||o[e])})}),e}(!1===lu.useProxies||!1===(null==o?void 0:o.proxy)?Am({},o):function(e,t){var o,n;return mc(),null!=(n=(o=(e=Am(e,t))[qc]).proxy_)?n:o.proxy_=new Proxy(e,Ju)}({},o),e,t)})},ref:Bc(_l),shallow:Bc(Cl),deep:Sl,struct:Bc(zl)}),Il="computed",Dl=sl(Il),Nl=sl("computed.struct",{equals:Gc.structural}),Tl=function(e,t){if(Vc(t))return Dl.decorate_20223_(e,t);if(fc(t))return Uc(e,t,Dl);if(bc(e))return Bc(sl(Il,e));var o=bc(t)?t:{};return o.get=e,o.name||(o.name=e.name||""),new Hl(o)};Object.assign(Tl,Dl),Tl.struct=Bc(Nl);var Rl=0,Ml=1,$l=null!=(Al=null==(Ll=ac(function(){},"name"))?void 0:Ll.configurable)&&Al,Bl={value:"action",configurable:!0,writable:!1,enumerable:!1};function Ul(e,t,o,n){function a(){return function(e,t,o,n,a){var r=function(e,t){var o=!1,n=0,a=lu.trackingDerivation,r=!t||!a;du();var i=lu.allowStateChanges;r&&(tu(),i=Vl(!0));var s={runAsAction_:r,prevDerivation_:a,prevAllowStateChanges_:i,prevAllowStateReads_:nu(!0),notifySpy_:o,startTime_:n,actionId_:Ml++,parentActionId_:Rl};return Rl=s.actionId_,s}(0,t);try{return o.apply(n,a)}catch(e){throw r.error_=e,e}finally{!function(e){Rl!==e.actionId_&&ec(30),Rl=e.parentActionId_,void 0!==e.error_&&(lu.suppressReactionErrors=!0),ql(e.prevAllowStateChanges_),au(e.prevAllowStateReads_),hu(),e.runAsAction_&&ou(e.prevDerivation_),lu.suppressReactionErrors=!1}(r)}}(0,o,t,n||this,arguments)}return void 0===o&&(o=!1),a.isMobxAction=!0,a.toString=function(){return t.toString()},$l&&(Bl.value=e,rc(a,"name",Bl)),a}function Vl(e){var t=lu.allowStateChanges;return lu.allowStateChanges=e,t}function ql(e){lu.allowStateChanges=e}var Fl=function(e){function t(t,o,n,a,r){var i;return void 0===n&&(n="ObservableValue"),void 0===a&&(a=!0),void 0===r&&(r=Gc.default),(i=e.call(this,n)||this).enhancer=void 0,i.name_=void 0,i.equals=void 0,i.hasUnreportedChange_=!1,i.interceptors_=void 0,i.changeListeners_=void 0,i.value_=void 0,i.dehancer=void 0,i.enhancer=o,i.name_=n,i.equals=r,i.value_=o(t,void 0,n),i}Tc(t,e);var o=t.prototype;return o.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},o.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==lu.UNCHANGED&&this.setNewValue_(e)},o.prepareNewValue_=function(e){if(Zu(this)){var t=em(this,{object:this,type:im,newValue:e});if(!t)return lu.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?lu.UNCHANGED:e},o.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),tm(this)&&nm(this,{type:im,object:this,newValue:e,oldValue:t})},o.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},o.intercept_=function(e){return Xu(this,e)},o.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:im,newValue:this.value_,oldValue:void 0}),om(this,e)},o.raw=function(){return this.value_},o.toJSON=function(){return this.get()},o.toString=function(){return this.name_+"["+this.value_+"]"},o.valueOf=function(){return zc(this.get())},o[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Fc),Hl=function(){function e(e){this.dependenciesState_=Kl.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=Kl.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new Ql(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=Gl.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||ec(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=Ul("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Gc.structural:Gc.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===Kl.UP_TO_DATE_&&(e.lowestObserverState_=Kl.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===Kl.UP_TO_DATE_&&(e.dependenciesState_=Kl.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&ec(32,this.name_,this.derivation),0!==lu.inBatch||0!==this.observers_.size||this.keepAlive_){if(fu(this),Jl(this)){var e=lu.trackingContext;this.keepAlive_&&!e&&(lu.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==Kl.STALE_&&(t.lowestObserverState_=Kl.STALE_,t.observers_.forEach(function(e){e.dependenciesState_===Kl.POSSIBLY_STALE_?e.dependenciesState_=Kl.STALE_:e.dependenciesState_===Kl.UP_TO_DATE_&&(t.lowestObserverState_=Kl.UP_TO_DATE_)}))),lu.trackingContext=e}}else Jl(this)&&(this.warnAboutUntrackedRead_(),du(),this.value_=this.computeValue_(!1),hu());var t,o=this.value_;if(Wl(o))throw o.cause;return o},t.set=function(e){if(this.setter_){this.isRunningSetter&&ec(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else ec(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===Kl.NOT_TRACKING_,o=this.computeValue_(!0),n=t||Wl(e)||Wl(o)||!this.equals_(e,o);return n&&(this.value_=o),n},t.computeValue_=function(e){this.isComputing=!0;var t,o=Vl(!1);if(e)t=Zl(this,this.derivation,this.scope_);else if(!0===lu.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new Ql(e)}return ql(o),this.isComputing=!1,t},t.suspend_=function(){this.keepAlive_||(Xl(this),this.value_=void 0)},t.observe_=function(e,t){var o=this,n=!0,a=void 0;return function(e,t){var o,n,a,r;void 0===t&&(t=cc);var i,s=null!=(o=null==(n=t)?void 0:n.name)?o:"Autorun";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Iu}(t),l=!1;i=new bu(s,function(){l||(l=!0,c(function(){l=!1,i.isDisposed||i.track(u)}))},t.onError,t.requiresObservable)}else i=new bu(s,function(){this.track(u)},t.onError,t.requiresObservable);function u(){e(i)}return null!=(a=t)&&null!=(a=a.signal)&&a.aborted||i.schedule_(),i.getDisposer_(null==(r=t)?void 0:r.signal)}(function(){var r=o.get();if(!n||t){var i=tu();e({observableKind:"computed",debugObjectName:o.name_,type:im,object:o,newValue:r,oldValue:a}),ou(i)}n=!1,a=r})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return zc(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},Ic(e,[{key:"isComputing",get:function(){return Oc(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isComputingMask_,t)}},{key:"isRunningSetter",get:function(){return Oc(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isRunningSetterMask_,t)}},{key:"isBeingObserved",get:function(){return Oc(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return Oc(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return Oc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=Ac(this.flags_,e.diffValueMask_,1===t)}}])}();Hl.isComputingMask_=1,Hl.isRunningSetterMask_=2,Hl.isBeingObservedMask_=4,Hl.isPendingUnobservationMask_=8,Hl.diffValueMask_=16;var Kl,Gl,Yl=wc("ComputedValue",Hl);!function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"}(Kl||(Kl={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(Gl||(Gl={}));var Ql=function(e){this.cause=void 0,this.cause=e};function Wl(e){return e instanceof Ql}function Jl(e){switch(e.dependenciesState_){case Kl.UP_TO_DATE_:return!1;case Kl.NOT_TRACKING_:case Kl.STALE_:return!0;case Kl.POSSIBLY_STALE_:for(var t=nu(!0),o=tu(),n=e.observing_,a=n.length,r=0;r<a;r++){var i=n[r];if(Yl(i)){if(lu.disableErrorBoundaries)i.get();else try{i.get()}catch(e){return ou(o),au(t),!0}if(e.dependenciesState_===Kl.STALE_)return ou(o),au(t),!0}}return ru(e),ou(o),au(t),!1}}function Zl(e,t,o){var n=nu(!0);ru(e),e.newObserving_=new Array(0===e.runId_?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++lu.runId;var a,r=lu.trackingDerivation;if(lu.trackingDerivation=e,lu.inBatch++,!0===lu.disableErrorBoundaries)a=t.call(o);else try{a=t.call(o)}catch(e){a=new Ql(e)}return lu.inBatch--,lu.trackingDerivation=r,function(e){for(var t=e.observing_,o=e.observing_=e.newObserving_,n=Kl.UP_TO_DATE_,a=0,r=e.unboundDepsCount_,i=0;i<r;i++){var s=o[i];0===s.diffValue&&(s.diffValue=1,a!==i&&(o[a]=s),a++),s.dependenciesState_>n&&(n=s.dependenciesState_)}for(o.length=a,e.newObserving_=null,r=t.length;r--;){var c=t[r];0===c.diffValue&&mu(c,e),c.diffValue=0}for(;a--;){var l=o[a];1===l.diffValue&&(l.diffValue=0,uu(l,e))}n!==Kl.UP_TO_DATE_&&(e.dependenciesState_=n,e.onBecomeStale_())}(e),au(n),a}function Xl(e){var t=e.observing_;e.observing_=[];for(var o=t.length;o--;)mu(t[o],e);e.dependenciesState_=Kl.NOT_TRACKING_}function eu(e){var t=tu();try{return e()}finally{ou(t)}}function tu(){var e=lu.trackingDerivation;return lu.trackingDerivation=null,e}function ou(e){lu.trackingDerivation=e}function nu(e){var t=lu.allowStateReads;return lu.allowStateReads=e,t}function au(e){lu.allowStateReads=e}function ru(e){if(e.dependenciesState_!==Kl.UP_TO_DATE_){e.dependenciesState_=Kl.UP_TO_DATE_;for(var t=e.observing_,o=t.length;o--;)t[o].lowestObserverState_=Kl.UP_TO_DATE_}}var iu=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},su=!0,cu=!1,lu=function(){var e=oc();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(su=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new iu).version&&(su=!1),su?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new iu):(setTimeout(function(){cu||ec(35)},1),new iu)}();function uu(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function mu(e,t){e.observers_.delete(t),0===e.observers_.size&&pu(e)}function pu(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,lu.pendingUnobservations.push(e))}function du(){lu.inBatch++}function hu(){if(0===--lu.inBatch){vu();for(var e=lu.pendingUnobservations,t=0;t<e.length;t++){var o=e[t];o.isPendingUnobservation=!1,0===o.observers_.size&&(o.isBeingObserved&&(o.isBeingObserved=!1,o.onBUO()),o instanceof Hl&&o.suspend_())}lu.pendingUnobservations=[]}}function fu(e){var t=lu.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&lu.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.observers_.size&&lu.inBatch>0&&pu(e),!1)}function gu(e){e.lowestObserverState_!==Kl.STALE_&&(e.lowestObserverState_=Kl.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===Kl.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=Kl.STALE_}))}var bu=function(){function e(e,t,o,n){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=Kl.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=Gl.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=o,this.requiresObservable_=n}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,lu.pendingReactions.push(this),vu())},t.runReaction_=function(){if(!this.isDisposed){du(),this.isScheduled=!1;var e=lu.trackingContext;if(lu.trackingContext=this,Jl(this)){this.isTrackPending=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}lu.trackingContext=e,hu()}},t.track=function(e){if(!this.isDisposed){du(),this.isRunning=!0;var t=lu.trackingContext;lu.trackingContext=this;var o=Zl(this,e,void 0);lu.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Xl(this),Wl(o)&&this.reportExceptionInDerivation_(o.cause),hu()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(lu.disableErrorBoundaries)throw e;var o="[mobx] uncaught error in '"+this+"'";lu.suppressReactionErrors||console.error(o,e),lu.globalReactionErrorHandlers.forEach(function(o){return o(e,t)})}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(du(),Xl(this),hu()))},t.getDisposer_=function(e){var t=this,o=function o(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",o)};return null==e||null==e.addEventListener||e.addEventListener("abort",o),o[qc]=this,"dispose"in Symbol&&"symbol"==typeof Symbol.dispose&&(o[Symbol.dispose]=o),o},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},Ic(e,[{key:"isDisposed",get:function(){return Oc(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isDisposedMask_,t)}},{key:"isScheduled",get:function(){return Oc(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isScheduledMask_,t)}},{key:"isTrackPending",get:function(){return Oc(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isTrackPendingMask_,t)}},{key:"isRunning",get:function(){return Oc(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=Ac(this.flags_,e.isRunningMask_,t)}},{key:"diffValue",get:function(){return Oc(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=Ac(this.flags_,e.diffValueMask_,1===t)}}])}();bu.isDisposedMask_=1,bu.isScheduledMask_=2,bu.isTrackPendingMask_=4,bu.isRunningMask_=8,bu.diffValueMask_=16;var yu=100,ku=function(e){return e()};function vu(){lu.inBatch>0||lu.isRunningReactions||ku(wu)}function wu(){lu.isRunningReactions=!0;for(var e=lu.pendingReactions,t=0;e.length>0;){++t===yu&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var o=e.splice(0),n=0,a=o.length;n<a;n++)o[n].runReaction_()}lu.isRunningReactions=!1}var xu=wc("Reaction",bu),ju="action",_u="autoAction",Cu=Jc(ju),zu=Jc("action.bound",{bound:!0}),Su=Jc(_u,{autoAction:!0}),Eu=Jc("autoAction.bound",{autoAction:!0,bound:!0});function Ou(e){return function(t,o){return hc(t)?Ul(t.name||"<unnamed action>",t,e):hc(o)?Ul(t,o,e):Vc(o)?(e?Su:Cu).decorate_20223_(t,o):fc(o)?Uc(t,o,e?Su:Cu):fc(t)?Bc(Jc(e?_u:ju,{name:t,autoAction:e})):void 0}}var Au=Ou(!1);Object.assign(Au,Cu);var Lu=Ou(!0);function Pu(e){return hc(e)&&!0===e.isMobxAction}Object.assign(Lu,Su),Au.bound=Bc(zu),Lu.bound=Bc(Eu);var Iu=function(e){return e()};var Du="onBO",Nu="onBUO";function Tu(e,t,o){return Ru(Nu,e,t,o)}function Ru(e,t,o,n){var a="function"==typeof n?Km(t,o):Km(t),r=hc(n)?n:o,i=e+"L";return a[i]?a[i].add(r):a[i]=new Set([r]),function(){var e=a[i];e&&(e.delete(r),0===e.size&&delete a[i])}}var Mu="always";function $u(e){!0===e.isolateGlobalState&&function(){if((lu.pendingReactions.length||lu.inBatch||lu.isRunningReactions)&&ec(36),cu=!0,su){var e=oc();0===--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),lu=new iu}}();var t,o,n=e.useProxies,a=e.enforceActions;if(void 0!==n&&(lu.useProxies=n===Mu||"never"!==n&&"undefined"!=typeof Proxy),"ifavailable"===n&&(lu.verifyProxies=!0),void 0!==a){var r=a===Mu?Mu:"observed"===a;lu.enforceActions=r,lu.allowStateChanges=!0!==r&&r!==Mu}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&(lu[t]=!!e[t])}),lu.allowStateReads=!lu.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,o=ku,ku=function(e){return t(function(){return o(e)})})}function Bu(e){var t,o={name:e.name_};return e.observing_&&e.observing_.length>0&&(o.dependencies=(t=e.observing_,Array.from(new Set(t))).map(Bu)),o}var Uu=0;function Vu(){this.message="FLOW_CANCELLED"}Vu.prototype=Object.create(Error.prototype);var qu=ol("flow"),Fu=ol("flow.bound",{bound:!0}),Hu=Object.assign(function(e,t){if(Vc(t))return qu.decorate_20223_(e,t);if(fc(t))return Uc(e,t,qu);var o=e,n=o.name||"<unnamed flow>",a=function(){var e,t=arguments,a=++Uu,r=Au(n+" - runid: "+a+" - init",o).apply(this,t),i=void 0,s=new Promise(function(t,o){var s=0;function c(e){var t;i=void 0;try{t=Au(n+" - runid: "+a+" - yield "+s++,r.next).call(r,e)}catch(e){return o(e)}u(t)}function l(e){var t;i=void 0;try{t=Au(n+" - runid: "+a+" - yield "+s++,r.throw).call(r,e)}catch(e){return o(e)}u(t)}function u(e){if(!hc(null==e?void 0:e.then))return e.done?t(e.value):(i=Promise.resolve(e.value)).then(c,l);e.then(u,o)}e=o,c(void 0)});return s.cancel=Au(n+" - runid: "+a+" - cancel",function(){try{i&&Ku(i);var t=r.return(void 0),o=Promise.resolve(t.value);o.then(dc,dc),Ku(o),e(new Vu)}catch(t){e(t)}}),s};return a.isMobXFlow=!0,a},qu);function Ku(e){hc(e.cancel)&&e.cancel()}function Gu(e){return!0===(null==e?void 0:e.isMobXFlow)}function Yu(e){return function(e,t){return!!e&&(void 0!==t?!!Im(e)&&e[qc].values_.has(t):Im(e)||!!e[qc]||Hc(e)||xu(e)||Yl(e))}(e)}function Qu(e,t){void 0===t&&(t=void 0),du();try{return e.apply(t)}finally{hu()}}function Wu(e){return e[qc]}Hu.bound=Bc(Fu);var Ju={has:function(e,t){return Wu(e).has_(t)},get:function(e,t){return Wu(e).get_(t)},set:function(e,t,o){var n;return!!fc(t)&&(null==(n=Wu(e).set_(t,o,!0))||n)},deleteProperty:function(e,t){var o;return!!fc(t)&&(null==(o=Wu(e).delete_(t,!0))||o)},defineProperty:function(e,t,o){var n;return null==(n=Wu(e).defineProperty_(t,o))||n},ownKeys:function(e){return Wu(e).ownKeys_()},preventExtensions:function(e){ec(13)}};function Zu(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function Xu(e,t){var o=e.interceptors_||(e.interceptors_=[]);return o.push(t),pc(function(){var e=o.indexOf(t);-1!==e&&o.splice(e,1)})}function em(e,t){var o=tu();try{for(var n=[].concat(e.interceptors_||[]),a=0,r=n.length;a<r&&((t=n[a](t))&&!t.type&&ec(14),t);a++);return t}finally{ou(o)}}function tm(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function om(e,t){var o=e.changeListeners_||(e.changeListeners_=[]);return o.push(t),pc(function(){var e=o.indexOf(t);-1!==e&&o.splice(e,1)})}function nm(e,t){var o=tu(),n=e.changeListeners_;if(n){for(var a=0,r=(n=n.slice()).length;a<r;a++)n[a](t);ou(o)}}function am(e,t,o){return Qm(function(){var n=Am(e,o)[qc];null!=t||(t=function(e){return Sc(e,$c)||kc(e,$c,Nc({},e[$c])),e[$c]}(e)),Cc(t).forEach(function(e){return n.make_(e,t[e])})}),e}var rm="splice",im="update",sm={get:function(e,t){var o=e[qc];return t===qc?o:"length"===t?o.getArrayLength_():"string"!=typeof t||isNaN(t)?Sc(um,t)?um[t]:e[t]:o.get_(parseInt(t))},set:function(e,t,o){var n=e[qc];return"length"===t&&n.setArrayLength_(o),"symbol"==typeof t||isNaN(t)?e[t]=o:n.set_(parseInt(t),o),!0},preventExtensions:function(){ec(15)}},cm=function(){function e(e,t,o,n){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=o,this.legacyMode_=n,this.atom_=new Fc(e),this.enhancer_=function(e,o){return t(e,o,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return Xu(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),om(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&ec("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var o=new Array(e-t),n=0;n<e-t;n++)o[n]=void 0;this.spliceWithArray_(t,0,o)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&ec(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&Fm(e+t+1)},t.spliceWithArray_=function(e,t,o){var n=this;this.atom_;var a=this.values_.length;if(void 0===e?e=0:e>a?e=a:e<0&&(e=Math.max(0,a+e)),t=1===arguments.length?a-e:null==t?0:Math.max(0,Math.min(t,a-e)),void 0===o&&(o=sc),Zu(this)){var r=em(this,{object:this.proxy_,type:rm,index:e,removedCount:t,added:o});if(!r)return sc;t=r.removedCount,o=r.added}if(o=0===o.length?o:o.map(function(e){return n.enhancer_(e,void 0)}),this.legacyMode_){var i=o.length-t;this.updateArrayLength_(a,i)}var s=this.spliceItemsIntoValues_(e,t,o);return 0===t&&0===o.length||this.notifyArraySplice_(e,o,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,o){var n;if(o.length<1e4)return(n=this.values_).splice.apply(n,[e,t].concat(o));var a=this.values_.slice(e,e+t),r=this.values_.slice(e+t);this.values_.length+=o.length-t;for(var i=0;i<o.length;i++)this.values_[e+i]=o[i];for(var s=0;s<r.length;s++)this.values_[e+o.length+s]=r[s];return a},t.notifyArrayChildUpdate_=function(e,t,o){var n=!this.owned_&&!1,a=tm(this),r=a||n?{observableKind:"array",object:this.proxy_,type:im,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:o}:null;this.atom_.reportChanged(),a&&nm(this,r)},t.notifyArraySplice_=function(e,t,o){var n=!this.owned_&&!1,a=tm(this),r=a||n?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:rm,index:e,removed:o,added:t,removedCount:o.length,addedCount:t.length}:null;this.atom_.reportChanged(),a&&nm(this,r)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var o=this.values_;if(this.legacyMode_&&e>o.length&&ec(17,e,o.length),e<o.length){this.atom_;var n=o[e];if(Zu(this)){var a=em(this,{type:im,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}(t=this.enhancer_(t,n))!==n&&(o[e]=t,this.notifyArrayChildUpdate_(e,t,n))}else{for(var r=new Array(e+1-o.length),i=0;i<r.length-1;i++)r[i]=void 0;r[r.length-1]=t,this.spliceWithArray_(o.length,0,r)}},e}();function lm(e,t,o,n){return void 0===o&&(o="ObservableArray"),void 0===n&&(n=!1),mc(),Qm(function(){var a=new cm(o,t,n,!1);vc(a.values_,qc,a);var r=new Proxy(a.values_,sm);return a.proxy_=r,e&&e.length&&a.spliceWithArray_(0,0,e),r})}var um={clear:function(){return this.splice(0)},replace:function(e){var t=this[qc];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var o=arguments.length,n=new Array(o>2?o-2:0),a=2;a<o;a++)n[a-2]=arguments[a];var r=this[qc];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,o){return this[qc].spliceWithArray_(e,t,o)},push:function(){for(var e=this[qc],t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];return e.spliceWithArray_(e.values_.length,0,o),e.values_.length},pop:function(){return this.splice(Math.max(this[qc].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[qc],t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];return e.spliceWithArray_(0,0,o),e.values_.length},reverse:function(){return lu.trackingDerivation&&ec(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){lu.trackingDerivation&&ec(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[qc],o=t.dehanceValues_(t.values_).indexOf(e);return o>-1&&(this.splice(o,1),!0)}};function mm(e,t){"function"==typeof Array.prototype[e]&&(um[e]=t(e))}function pm(e){return function(){var t=this[qc];t.atom_.reportObserved();var o=t.dehanceValues_(t.values_);return o[e].apply(o,arguments)}}function dm(e){return function(t,o){var n=this,a=this[qc];return a.atom_.reportObserved(),a.dehanceValues_(a.values_)[e](function(e,a){return t.call(o,e,a,n)})}}function hm(e){return function(){var t=this,o=this[qc];o.atom_.reportObserved();var n=o.dehanceValues_(o.values_),a=arguments[0];return arguments[0]=function(e,o,n){return a(e,o,n,t)},n[e].apply(n,arguments)}}mm("at",pm),mm("concat",pm),mm("flat",pm),mm("includes",pm),mm("indexOf",pm),mm("join",pm),mm("lastIndexOf",pm),mm("slice",pm),mm("toString",pm),mm("toLocaleString",pm),mm("toSorted",pm),mm("toSpliced",pm),mm("with",pm),mm("every",dm),mm("filter",dm),mm("find",dm),mm("findIndex",dm),mm("findLast",dm),mm("findLastIndex",dm),mm("flatMap",dm),mm("forEach",dm),mm("map",dm),mm("some",dm),mm("toReversed",dm),mm("reduce",hm),mm("reduceRight",hm);var fm=wc("ObservableArrayAdministration",cm);function gm(e){return gc(e)&&fm(e[qc])}var bm={},ym="add",km="delete",vm=function(){function e(e,t,o){var n=this;void 0===t&&(t=Yc),void 0===o&&(o="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[qc]=bm,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=o,hc(Map)||ec(18),Qm(function(){n.keysAtom_=Kc("ObservableMap.keys()"),n.data_=new Map,n.hasMap_=new Map,e&&n.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!lu.trackingDerivation)return this.has_(e);var o=this.hasMap_.get(e);if(!o){var n=o=new Fl(this.has_(e),Qc,"ObservableMap.key?",!1);this.hasMap_.set(e,n),Tu(n,function(){return t.hasMap_.delete(e)})}return o.get()},t.set=function(e,t){var o=this.has_(e);if(Zu(this)){var n=em(this,{type:o?im:ym,object:this,newValue:t,name:e});if(!n)return this;t=n.newValue}return o?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Zu(this)&&!em(this,{type:km,object:this,name:e}))return!1;if(this.has_(e)){var o=tm(this),n=o?{observableKind:"map",debugObjectName:this.name_,type:km,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return Qu(function(){var o;t.keysAtom_.reportChanged(),null==(o=t.hasMap_.get(e))||o.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),o&&nm(this,n),!0}return!1},t.updateValue_=function(e,t){var o=this.data_.get(e);if((t=o.prepareNewValue_(t))!==lu.UNCHANGED){var n=tm(this),a=n?{observableKind:"map",debugObjectName:this.name_,type:im,object:this,oldValue:o.value_,name:e,newValue:t}:null;o.setNewValue_(t),n&&nm(this,a)}},t.addValue_=function(e,t){var o=this;this.keysAtom_,Qu(function(){var n,a=new Fl(t,o.enhancer_,"ObservableMap.key",!1);o.data_.set(e,a),t=a.value_,null==(n=o.hasMap_.get(e))||n.setNewValue_(!0),o.keysAtom_.reportChanged()});var n=tm(this),a=n?{observableKind:"map",debugObjectName:this.name_,type:ym,object:this,name:e,newValue:t}:null;n&&nm(this,a)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return xm({next:function(){var o=t.next(),n=o.done,a=o.value;return{done:n,value:n?void 0:e.get(a)}}})},t.entries=function(){var e=this,t=this.keys();return xm({next:function(){var o=t.next(),n=o.done,a=o.value;return{done:n,value:n?void 0:[a,e.get(a)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var o,n=Dc(this);!(o=n()).done;){var a=o.value,r=a[0],i=a[1];e.call(t,i,r,this)}},t.merge=function(e){var t=this;return wm(e)&&(e=new Map(e)),Qu(function(){bc(e)?function(e){var t=Object.keys(e);if(!_c)return t;var o=Object.getOwnPropertySymbols(e);return o.length?[].concat(t,o.filter(function(t){return ic.propertyIsEnumerable.call(e,t)})):t}(e).forEach(function(o){return t.set(o,e[o])}):Array.isArray(e)?e.forEach(function(e){var o=e[0],n=e[1];return t.set(o,n)}):xc(e)?(function(e){var t=Object.getPrototypeOf(e),o=Object.getPrototypeOf(t);return null===Object.getPrototypeOf(o)}(e)||ec(19,e),e.forEach(function(e,o){return t.set(o,e)})):null!=e&&ec(20,e)}),this},t.clear=function(){var e=this;Qu(function(){eu(function(){for(var t,o=Dc(e.keys());!(t=o()).done;){var n=t.value;e.delete(n)}})})},t.replace=function(e){var t=this;return Qu(function(){for(var o,n=function(e){if(xc(e)||wm(e))return e;if(Array.isArray(e))return new Map(e);if(bc(e)){var t=new Map;for(var o in e)t.set(o,e[o]);return t}return ec(21,e)}(e),a=new Map,r=!1,i=Dc(t.data_.keys());!(o=i()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))r=!0;else{var c=t.data_.get(s);a.set(s,c)}}for(var l,u=Dc(n.entries());!(l=u()).done;){var m=l.value,p=m[0],d=m[1],h=t.data_.has(p);if(t.set(p,d),t.data_.has(p)){var f=t.data_.get(p);a.set(p,f),h||(r=!0)}}if(!r)if(t.data_.size!==a.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),b=a.keys(),y=g.next(),k=b.next();!y.done;){if(y.value!==k.value){t.keysAtom_.reportChanged();break}y=g.next(),k=b.next()}t.data_=a}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return om(this,e)},t.intercept_=function(e){return Xu(this,e)},Ic(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),wm=wc("ObservableMap",vm);function xm(e){return e[Symbol.toStringTag]="MapIterator",op(e)}var jm={},_m=function(){function e(e,t,o){var n=this;void 0===t&&(t=Yc),void 0===o&&(o="ObservableSet"),this.name_=void 0,this[qc]=jm,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=o,hc(Set)||ec(22),this.enhancer_=function(e,n){return t(e,n,o)},Qm(function(){n.atom_=Kc(n.name_),e&&n.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;Qu(function(){eu(function(){for(var t,o=Dc(e.data_.values());!(t=o()).done;){var n=t.value;e.delete(n)}})})},t.forEach=function(e,t){for(var o,n=Dc(this);!(o=n()).done;){var a=o.value;e.call(t,a,a,this)}},t.add=function(e){var t=this;if(this.atom_,Zu(this)){var o=em(this,{type:ym,object:this,newValue:e});if(!o)return this;e=o.newValue}if(!this.has(e)){Qu(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var n=tm(this),a=n?{observableKind:"set",debugObjectName:this.name_,type:ym,object:this,newValue:e}:null;n&&nm(this,a)}return this},t.delete=function(e){var t=this;if(Zu(this)&&!em(this,{type:km,object:this,oldValue:e}))return!1;if(this.has(e)){var o=tm(this),n=o?{observableKind:"set",debugObjectName:this.name_,type:km,object:this,oldValue:e}:null;return Qu(function(){t.atom_.reportChanged(),t.data_.delete(e)}),o&&nm(this,n),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return zm({next:function(){var t=e.next(),o=t.value,n=t.done;return n?{value:void 0,done:n}:{value:[o,o],done:n}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return zm({next:function(){var o=t.next(),n=o.value,a=o.done;return a?{value:void 0,done:a}:{value:e.dehanceValue_(n),done:a}}})},t.intersection=function(e){return jc(e)&&!Cm(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return jc(e)&&!Cm(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return jc(e)&&!Cm(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return jc(e)&&!Cm(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Cm(e)&&(e=new Set(e)),Qu(function(){Array.isArray(e)||jc(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):null!=e&&ec("Cannot initialize set from "+e)}),this},t.observe_=function(e,t){return om(this,e)},t.intercept_=function(e){return Xu(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},Ic(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),Cm=wc("ObservableSet",_m);function zm(e){return e[Symbol.toStringTag]="SetIterator",op(e)}var Sm=Object.create(null),Em="remove",Om=function(){function e(e,t,o,n){void 0===t&&(t=new Map),void 0===n&&(n=gl),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=o,this.defaultAnnotation_=n,this.keysAtom_=new Fc("ObservableObject.keys"),this.isPlainObject_=bc(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var o=this.values_.get(e);if(o instanceof Hl)return o.set(t),!0;if(Zu(this)){var n=em(this,{type:im,object:this.proxy_||this.target_,name:e,newValue:t});if(!n)return null;t=n.newValue}if((t=o.prepareNewValue_(t))!==lu.UNCHANGED){var a=tm(this),r=a?{type:im,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:o.value_,name:e,newValue:t}:null;o.setNewValue_(t),a&&nm(this,r)}return!0},t.get_=function(e){return lu.trackingDerivation&&!Sc(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,o){return void 0===o&&(o=!1),Sc(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):o?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,o)},t.has_=function(e){if(!lu.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new Fl(e in this.target_,Qc,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var o;if(null!=(o=this.target_[$c])&&o[e])return;ec(1,t.annotationType_,this.name_+"."+e.toString())}for(var n=this.target_;n&&n!==ic;){var a=ac(n,e);if(a){var r=t.make_(this,e,a,n);if(0===r)return;if(1===r)break}n=Object.getPrototypeOf(n)}Dm(this,0,e)}},t.extend_=function(e,t,o,n){if(void 0===n&&(n=!1),!0===o&&(o=this.defaultAnnotation_),!1===o)return this.defineProperty_(e,t,n);var a=o.extend_(this,e,t,n);return a&&Dm(this,0,e),a},t.defineProperty_=function(e,t,o){void 0===o&&(o=!1),this.keysAtom_;try{du();var n=this.delete_(e);if(!n)return n;if(Zu(this)){var a=em(this,{object:this.proxy_||this.target_,name:e,type:ym,newValue:t.value});if(!a)return null;var r=a.newValue;t.value!==r&&(t=Nc({},t,{value:r}))}if(o){if(!Reflect.defineProperty(this.target_,e,t))return!1}else rc(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{hu()}return!0},t.defineObservableProperty_=function(e,t,o,n){void 0===n&&(n=!1),this.keysAtom_;try{du();var a=this.delete_(e);if(!a)return a;if(Zu(this)){var r=em(this,{object:this.proxy_||this.target_,name:e,type:ym,newValue:t});if(!r)return null;t=r.newValue}var i=Pm(e),s={configurable:!lu.safeDescriptors||this.isPlainObject_,enumerable:!0,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,s))return!1}else rc(this.target_,e,s);var c=new Fl(t,o,"ObservableObject.key",!1);this.values_.set(e,c),this.notifyPropertyAddition_(e,c.value_)}finally{hu()}return!0},t.defineComputedProperty_=function(e,t,o){void 0===o&&(o=!1),this.keysAtom_;try{du();var n=this.delete_(e);if(!n)return n;if(Zu(this)&&!em(this,{object:this.proxy_||this.target_,name:e,type:ym,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var a=Pm(e),r={configurable:!lu.safeDescriptors||this.isPlainObject_,enumerable:!1,get:a.get,set:a.set};if(o){if(!Reflect.defineProperty(this.target_,e,r))return!1}else rc(this.target_,e,r);this.values_.set(e,new Hl(t)),this.notifyPropertyAddition_(e,void 0)}finally{hu()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!Sc(this.target_,e))return!0;if(Zu(this)&&!em(this,{object:this.proxy_||this.target_,name:e,type:Em}))return null;try{var o;du();var n,a=tm(this),r=this.values_.get(e),i=void 0;if(!r&&a&&(i=null==(n=ac(this.target_,e))?void 0:n.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(r&&(this.values_.delete(e),r instanceof Fl&&(i=r.value_),gu(r)),this.keysAtom_.reportChanged(),null==(o=this.pendingKeys_)||null==(o=o.get(e))||o.set(e in this.target_),a){var s={type:Em,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:i,name:e};a&&nm(this,s)}}finally{hu()}return!0},t.observe_=function(e,t){return om(this,e)},t.intercept_=function(e){return Xu(this,e)},t.notifyPropertyAddition_=function(e,t){var o,n=tm(this);if(n){var a=n?{type:ym,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;n&&nm(this,a)}null==(o=this.pendingKeys_)||null==(o=o.get(e))||o.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),Cc(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Am(e,t){var o;if(Sc(e,qc))return e;var n=null!=(o=null==t?void 0:t.name)?o:"ObservableObject",a=new Om(e,new Map,String(n),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:bl(e):void 0}(t));return kc(e,qc,a),e}var Lm=wc("ObservableObjectAdministration",Om);function Pm(e){return Sm[e]||(Sm[e]={get:function(){return this[qc].getObservablePropValue_(e)},set:function(t){return this[qc].setObservablePropValue_(e,t)}})}function Im(e){return!!gc(e)&&Lm(e[qc])}function Dm(e,t,o){var n;null==(n=e.target_[$c])||delete n[o]}var Nm,Tm,Rm=Vm(0),Mm=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),$m=0,Bm=function(){};Nm=Bm,Tm=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Nm.prototype,Tm):void 0!==Nm.prototype.__proto__?Nm.prototype.__proto__=Tm:Nm.prototype=Tm;var Um=function(e){function t(t,o,n,a){var r;return void 0===n&&(n="ObservableArray"),void 0===a&&(a=!1),r=e.call(this)||this,Qm(function(){var e=new cm(n,o,a,!0);e.proxy_=r,vc(r,qc,e),t&&t.length&&r.spliceWithArray(0,0,t),Mm&&Object.defineProperty(r,"0",Rm)}),r}Tc(t,e);var o=t.prototype;return o.concat=function(){this[qc].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return Array.prototype.concat.apply(this.slice(),t.map(function(e){return gm(e)?e.slice():e}))},o[Symbol.iterator]=function(){var e=this,t=0;return op({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},Ic(t,[{key:"length",get:function(){return this[qc].getArrayLength_()},set:function(e){this[qc].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(Bm);function Vm(e){return{enumerable:!1,configurable:!0,get:function(){return this[qc].get_(e)},set:function(t){this[qc].set_(e,t)}}}function qm(e){rc(Um.prototype,""+e,Vm(e))}function Fm(e){if(e>$m){for(var t=$m;t<e+100;t++)qm(t);$m=e}}function Hm(e,t,o){return new Um(e,t,o)}function Km(e,t){if("object"==typeof e&&null!==e){if(gm(e))return void 0!==t&&ec(23),e[qc].atom_;if(Cm(e))return e.atom_;if(wm(e)){if(void 0===t)return e.keysAtom_;var o=e.data_.get(t)||e.hasMap_.get(t);return o||ec(25,t,Ym(e)),o}if(Im(e)){if(!t)return ec(26);var n=e[qc].values_.get(t);return n||ec(27,t,Ym(e)),n}if(Hc(e)||Yl(e)||xu(e))return e}else if(hc(e)&&xu(e[qc]))return e[qc];ec(28)}function Gm(e,t){return e||ec(29),void 0!==t?Gm(Km(e,t)):Hc(e)||Yl(e)||xu(e)||wm(e)||Cm(e)?e:e[qc]?e[qc]:void ec(24,e)}function Ym(e,t){var o;if(void 0!==t)o=Km(e,t);else{if(Pu(e))return e.name;o=Im(e)||wm(e)||Cm(e)?Gm(e):Km(e)}return o.name_}function Qm(e){var t=tu(),o=Vl(!0);du();try{return e()}finally{hu(),ql(o),ou(t)}}Object.entries(um).forEach(function(e){var t=e[0],o=e[1];"concat"!==t&&kc(Um.prototype,t,o)}),Fm(1e3);var Wm,Jm=ic.toString;function Zm(e,t,o){return void 0===o&&(o=-1),Xm(e,t,o)}function Xm(e,t,o,n,a){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var r=typeof e;if("function"!==r&&"object"!==r&&"object"!=typeof t)return!1;var i=Jm.call(e);if(i!==Jm.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0===+e?1/+e==1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":o>=0&&o++}e=ep(e),t=ep(t);var s="[object Array]"===i;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(hc(c)&&c instanceof c&&hc(l)&&l instanceof l)&&"constructor"in e&&"constructor"in t)return!1}if(0===o)return!1;o<0&&(o=-1),a=a||[];for(var u=(n=n||[]).length;u--;)if(n[u]===e)return a[u]===t;if(n.push(e),a.push(t),s){if((u=e.length)!==t.length)return!1;for(;u--;)if(!Xm(e[u],t[u],o-1,n,a))return!1}else{var m=Object.keys(e),p=m.length;if(Object.keys(t).length!==p)return!1;for(var d=0;d<p;d++){var h=m[d];if(!Sc(t,h)||!Xm(e[h],t[h],o-1,n,a))return!1}}return n.pop(),a.pop(),!0}function ep(e){return gm(e)?e.slice():xc(e)||wm(e)||jc(e)||Cm(e)?Array.from(e.entries()):e}var tp=(null==(Wm=oc().Iterator)?void 0:Wm.prototype)||{};function op(e){return e[Symbol.iterator]=np,Object.assign(Object.create(tp),e)}function np(){return this}if(["Symbol","Map","Set"].forEach(function(e){void 0===oc()[e]&&ec("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:Ym},$mobx:qc}),!Go.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!am)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");var ap=o(467);function rp(e){e()}function ip(e){return Bu(Km(e,t));var t}var sp,cp,lp=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var o=Date.now();t.registrations.forEach(function(n,a){o-n.registeredAt>=e&&(t.finalize(n.value),t.registrations.delete(a))}),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,o){this.registrations.set(o,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),up=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:lp)(function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null}),mp=o(413);function pp(e){e.reaction=new bu("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)})}var dp="function"==typeof Symbol&&Symbol.for,hp=null!==(cp=null===(sp=Object.getOwnPropertyDescriptor(function(){},"name"))||void 0===sp?void 0:sp.configurable)&&void 0!==cp&&cp,fp=dp?Symbol.for("react.forward_ref"):"function"==typeof Go.forwardRef&&(0,Go.forwardRef)(function(e){return null}).$$typeof,gp=dp?Symbol.for("react.memo"):"function"==typeof Go.memo&&(0,Go.memo)(function(e){return null}).$$typeof;function bp(e,t){var o;if(gp&&e.$$typeof===gp)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var n=null!==(o=null==t?void 0:t.forwardRef)&&void 0!==o&&o,a=e,r=e.displayName||e.name;if(fp&&e.$$typeof===fp&&(n=!0,"function"!=typeof(a=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,s,c=function(e,t){return function(e,t){void 0===t&&(t="observed");var o=Go.useRef(null);if(!o.current){var n={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return up.unregister(n),n.onStoreChange=e,n.reaction||(pp(n),n.stateVersion=Symbol()),function(){var e;n.onStoreChange=null,null===(e=n.reaction)||void 0===e||e.dispose(),n.reaction=null}},getSnapshot:function(){return n.stateVersion}};o.current=n}var a,r,i=o.current;if(i.reaction||(pp(i),up.register(o,i,i)),Go.useDebugValue(i.reaction,ip),(0,mp.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),i.reaction.track(function(){try{a=e()}catch(e){r=e}}),r)throw r;return a}(function(){return a(e,t)},r)};return c.displayName=e.displayName,hp&&Object.defineProperty(c,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),n&&(c=(0,Go.forwardRef)(c)),c=(0,Go.memo)(c),i=e,s=c,Object.keys(i).forEach(function(e){yp[e]||Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(i,e))}),c}var yp={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function kp(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=rp),$u({reactionScheduler:e})}(ap.unstable_batchedUpdates),up.finalizeAllImmediately;var vp=Symbol("patchMixins"),wp=Symbol("patchedDefinition");function xp(e,t){for(var o=this,n=arguments.length,a=new Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];t.locks++;try{var i;return null!=e&&(i=e.apply(this,a)),i}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(o,a)})}}function jp(e,t){return function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];xp.call.apply(xp,[this,e,t].concat(n))}}function _p(e,t,o){var n=function(e,t){var o=e[vp]=e[vp]||{},n=o[t]=o[t]||{};return n.locks=n.locks||0,n.methods=n.methods||[],n}(e,t);n.methods.indexOf(o)<0&&n.methods.push(o);var a=Object.getOwnPropertyDescriptor(e,t);if(!a||!a[wp]){var r=e[t],i=Cp(e,t,a?a.enumerable:void 0,n,r);Object.defineProperty(e,t,i)}}function Cp(e,t,o,n,a){var r,i=jp(a,n);return(r={})[wp]=!0,r.get=function(){return i},r.set=function(a){if(this===e)i=jp(a,n);else{var r=Cp(this,t,o,n,a);Object.defineProperty(this,t,r)}},r.configurable=!0,r.enumerable=o,r}var zp=Symbol("ObserverAdministration"),Sp=Symbol("isMobXReactObserver");function Ep(e){var t;return null!=(t=e[zp])?t:e[zp]={reaction:null,mounted:!1,reactionInvalidatedBeforeMount:!1,forceUpdate:null,name:Op(e.constructor),state:void 0,props:void 0,context:void 0}}function Op(e){return e.displayName||e.name||"<component>"}function Ap(e){var t=e.bind(this),o=Ep(this);return function(){o.reaction||(o.reaction=function(e){return new bu(e.name+".render()",function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(o){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0})}(o),o.mounted||up.register(this,o,this));var e=void 0,n=void 0;if(o.reaction.track(function(){try{n=function(e,t){var o=Vl(e);try{return t()}finally{ql(o)}}(!1,t)}catch(t){e=t}}),e)throw e;return n}}function Lp(e,t){return this.state!==t||!function(e,t){if(kp(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;for(var a=0;a<o.length;a++)if(!Object.hasOwnProperty.call(t,o[a])||!kp(e[o[a]],t[o[a]]))return!1;return!0}(this.props,e)}function Pp(e,t){if(t&&"class"!==t.kind)throw new Error("The @observer decorator can be used on classes only");return!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(Go.Component,e)||Object.prototype.isPrototypeOf.call(Go.PureComponent,e)?function(e){var t=e.prototype;if(e[Sp]){var o=Op(e);throw new Error("The provided component class ("+o+") has already been declared as an observer component.")}if(e[Sp]=!0,t.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==Go.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==Lp)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else t.shouldComponentUpdate=Lp;var n=t.render;if("function"!=typeof n){var a=Op(e);throw new Error("[mobx-react] class component ("+a+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}t.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:Ap.call(this,n)}),this.render()};var r=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=Ep(this);return t.mounted=!0,up.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==r?void 0:r.apply(this,arguments)},_p(t,"componentWillUnmount",function(){var e,t=Ep(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}),e}(e):bp(e)}if(Go.version.split(".")[0],!Go.Component)throw new Error("mobx-react requires React to be available");if(!Pl)throw new Error("mobx-react requires mobx to be available");const Ip=new class{offersById=new Map;constructor(){this.clear=this.clear.bind(this),this.initializeOfferById=this.initializeOfferById.bind(this),this.updateOfferDirectoInfo=this.updateOfferDirectoInfo.bind(this),this.updateOfferDisplayPrices=this.updateOfferDisplayPrices.bind(this),this.updateOfferAlternativeOffers=this.updateOfferAlternativeOffers.bind(this),this.updateOfferListingPrice=this.updateOfferListingPrice.bind(this),this.updateBacklink=this.updateBacklink.bind(this),am(this,{offersById:Pl,clear:Au,initializeOfferById:Au,updateOfferDirectoInfo:Au,updateOfferDisplayPrices:Au,updateOfferAlternativeOffers:Au,updateOfferListingPrice:Au,updateBacklink:Au})}clear(){this.offersById.clear()}initializeOfferById(e){this.offersById.has(e)||this.offersById.set(e,{directoInfo:{type:"loading"},displayPrices:{type:"loading"},listingPrice:{type:"loading"},alternativeOffers:{type:"loading"},backlink:{type:"loading"}})}updateOfferDirectoInfo(e,t){const o=this.offersById.get(e);if(!o)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...o,directoInfo:t})}updateOfferDisplayPrices(e,t){const o=this.offersById.get(e);if(!o)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...o,displayPrices:t})}updateOfferAlternativeOffers(e,t){const o=this.offersById.get(e);if(!o)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...o,alternativeOffers:t})}updateOfferListingPrice(e,t){const o=this.offersById.get(e);if(!o)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...o,listingPrice:t})}updateBacklink(e,t){const o=this.offersById.get(e);if(!o)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...o,backlink:t})}};function Dp(e,t){return"loading"===e.type||"error"===e.type?t:e.data}function Np(e,t){return"error"===e.type?t:e.data}function Tp(e){return{type:"loaded",data:e}}function Rp(e){return{type:"error"}}const Mp=({icon:e,text:t,check:o})=>(0,rr.jsxs)("div",{className:"directo_popover__bullet-point "+(o?"":"directo_popover__bullet-text-disabled"),children:[e,(0,rr.jsx)("span",{className:"directo_popover__bullet-text",children:t}),o&&(0,rr.jsx)("span",{className:"directo_popover__bullet-check",children:"✓"})]}),$p=Pp(({item:e,isDirectoExtension:t})=>{const o=Dp(Ip.offersById.get(e.source_id)?.displayPrices??Tp(null),null),n=!!e.discount||!!o?.thereIsDiscount,a=!!e.coupon,r=e.score&&e.score>50?Math.ceil((e.score||0)/10):0,i=!gs(e.directo_url),s=t?[...i?[{icon:(0,rr.jsx)(Ws,{style:{height:16,width:16}}),text:nr("secondary_cta.popover.support_hotel"),check:!0}]:[],{icon:(0,rr.jsx)(Js,{style:{height:16,width:16}}),text:nr("secondary_cta.popover.coupon.text_checked"),check:a,hide:!a},{icon:(0,rr.jsx)(Qs,{style:{height:16,width:16}}),text:n?nr("secondary_cta.popover.discount.text_checked",{discount:e.discount}):nr("secondary_cta.popover.discount.text_unchecked"),check:n},{icon:(0,rr.jsx)(Ks,{style:{height:16,width:16}}),text:r?nr("secondary_cta.popover.feedback.text_checked",{positiveFeedback:r}):nr("secondary_cta.popover.feedback.text_unchecked"),check:!!r}]:[{icon:(0,rr.jsx)(Ws,{style:{height:16,width:16}}),text:nr("secondary_cta.popover.support_hotel"),check:!0}];return(0,rr.jsx)("div",{className:"directo_popover__bullet-points",children:(c=s,l="check",u="desc",null==c?[]:(oe(l)||(l=null==l?[]:[l]),oe(u=m?void 0:u)||(u=null==u?[]:[u]),Vs(c,l,u))).map((e,t)=>!e.hide&&(0,rr.jsx)(Mp,{...e},t))});var c,l,u,m}),Bp=({item:e,isDirectoExtension:t})=>{const o=e.directo_url?Xa(e.directo_url):"";return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsxs)("div",{className:"directo_popover__header",children:[(0,rr.jsx)("div",{className:"directo_popover__header-text",children:nr("secondary_cta.popover.header.text")}),(0,rr.jsx)("div",{className:"directo_popover__domain",children:(0,rr.jsx)("span",{className:"directo_popover__domain-text",children:o})})]}),(0,rr.jsx)($p,{item:e,isDirectoExtension:t})]})},Up={USD:1,EUR:.92,GBP:.79,CAD:1.35,AUD:1.54,CHF:.89,JPY:149.5,NOK:10.8,SEK:10.7,DKK:6.9,PLN:4.1,BRL:5,INR:83.2,ARS:350,CLP:880,COP:4100,MXN:17.5,PEN:3.8,UYU:39.5};function Vp(e){return Up[e]||1}function qp(e,t=2){try{return!!(e.displayedDirectoPrice&&e.displayedOtaPrice&&e.thereIsDiscount&&e.displayedCurrency)&&(o=e.displayedOtaPrice,n=e.displayedDirectoPrice,Math.round((o-n)/((o+n)/2)*100)>=t)}catch(e){return!1}var o,n}function Fp(e,t){return e.toLocaleString($o(),{style:"currency",currency:t,currencyDisplay:"symbol",minimumFractionDigits:0})}function Hp(e){if(Number.isNaN(e.otaTotalPrice)||Number.isNaN(e.directoPrice)||e.otaTotalPrice<=0||e.directoPrice<=0)return null;const t=e.directoIsNightly?e.lengthOfStay?e.directoPrice*e.lengthOfStay:null:e.directoPrice;if(null===t)return null;const{price1:o,price2:n}=function(e,t,o,n,a){const r=e/Vp(t),i=o/Vp(n),s=Vp(a);return{price1:r*s,price2:i*s,currency:a}}(e.otaTotalPrice,e.otaCurrency,t,e.directoCurrency,e.displayCurrency),a=vi(o),r=vi(n),i=Math.max(a-r,0),s=i>0;return{displayedOtaPrice:a,displayedDirectoPrice:r,displayedPriceDifference:i,displayedCurrency:e.displayCurrency,thereIsDiscount:s}}const Kp=Date.now(),Gp=function(){let e="";let t=0;for(;t<14;)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),t+=1;return e}();async function Yp(){const{hostname:e}=new URL(window.location.href);return{engagement_time_msec:""+(Date.now()-Kp),session_id:Gp,user_id_dimension:await wa(),platform:(Or(window.location.href)||e).toLowerCase(),page_location:window.location.href,page_title:window.document.title,page_referrer:window.document.referrer,language:window.navigator.language,screen_resolution:`${window.screen.availHeight}x${window.screen.availWidth}`}}async function Qp(){return{user_id:await wa(),client_id:"GTM-PQTC3VG"}}async function Wp(e){return{events:e,...await Qp()}}async function Jp(e,t={}){return{name:e,params:{...await Yp(),...t}}}function Zp(e){if(e.status>=200&&e.status<300)return e;throw new Error(e.statusText)}function Xp(e,t){const o=function(e){const t=new URL(`https://www.google-analytics.com${e}`);return Object.entries({api_secret:"GE9ObhGLSdmUus1uyoSEaw",measurement_id:"G-KXK74ZXW09"}).forEach(([e,o])=>{if(Array.isArray(o)&&o.length)return o.forEach(o=>t.searchParams.append(e,o));t.searchParams.append(e,o)}),t}(e);return fetch(o.toString(),{body:JSON.stringify(t),method:"POST"}).then(Zp).catch(console.error)}const ed=(e="/mp/collect")=>({async pageView(t,o={}){const n=await Jp("page_view",{page_location:t,...o}),a=await Wp([n]);return Xp(e,a)},async event(t,o={}){const n=await Jp(t,o),a=await Wp([n]);return Xp(e,a)},async exception(t={}){const o=await Jp("exception",t),n=await Wp([o]);return Xp(e,n)}}),td=ed(),od="click_out_ext_secondary";function nd({className:e,displayPrices:t,item:o,cta:n,getSecondaryCtaSvg:a,isDirectoExtension:r,backlink:i}){const s=t&&!!t.displayedDirectoPrice&&!!t.displayedOtaPrice&&t.thereIsDiscount,c=s?nr("secondary_cta.save",{price:Fp(t.displayedPriceDifference,t.displayedCurrency)}):function(e,t){if(!t)return nr("secondary_cta.compare_price");const o=e.directo_url?Xa(e.directo_url):"";return e.discount?"reservation.barcelo.com"===o?nr("secondary_cta.book_with_discount_barcelo"):nr("secondary_cta.book_with_discount",{discount:e.discount}):nr("secondary_cta.compare_price")}(o,r),l=s||!!r&&!!o.discount;return(0,rr.jsxs)("button",{onClick:e=>{const t=fs(o.directo_url);td.event(od,{outbound_url:t}),lf.navigateToDirectLink(t,n,{parametrised:o.stay_parametrised,sourceId:o.source_id,coupon:o.coupon,verified:o.verified,discount:o.discount,stayParams:o.stayParams,directPrice:o.pricing??null,backlink:i}),e.stopPropagation()},className:si(e,l?"directo-cta-button-shine":"directo-cta-button-dark"),disabled:!o.directo_url,children:[a(l),c,(0,rr.jsx)(Gs,{})]})}function ad(e){return`\n.directo-cta-button-shine:hover {\n background-color: #edb602;\n}\n\n.directo-cta-button-shine {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #FDC307;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: ${e};\n position: relative;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.directo-cta-button-shine {\n overflow: hidden;\n}\n\n.directo-cta-button-shine::before {\n background: linear-gradient(to right, rgba(216, 182, 182, 0) 0%, #ffffffbe);\n content: '';\n display: block;\n height: 100%;\n left: -75%;\n position: absolute;\n top: 0;\n transform: skewX(-25deg);\n width: 50%;\n z-index: 2;\n -webkit-animation: shine 2s ease-in-out infinite;\n animation: shine 2s ease-in-out infinite;\n}\n\n@keyframes shine {\n 100% {\n left: 125%;\n }\n}\n\n.directo-cta-button-dark {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: ${e};\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #ffffff;\n position: relative;\n}\n`}const rd="\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n\n.secondary-button:hover:before{\n opacity: 1;\n}\n\n.secondary-button:hover:active{\n background: none;\n}\n\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n";function id(e){return(0,rr.jsxs)("div",{className:"popover","data-direction":"top",children:[(0,rr.jsx)("div",{className:"popover__trigger",children:e.children}),(0,rr.jsx)("div",{className:"popover__content",children:e.popover})]})}const sd="\n.popover {\n position: relative;\n z-index: auto;\n}\n\n.popover__content {\n position: absolute;\n min-width: 130px;\n // width: 362px;\n width: 300px;\n text-align: left;\n display: flex;\n padding: 1rem; /* p-4 */\n visibility: hidden;\n overflow: hidden;\n opacity: 0;\n background: white;\n transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);\n color: #0f172a;\n border-radius: 0.5rem; /* Tailwind rounded-lg */\n font-weight: 500;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),\n 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n z-index: 999999999;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n background-color: #ffffff;\n\n /* Needed to prevent some element (like images) inside popover breaking mouse interactions,\n since they are only visually hidden but still present and breaking hover, clicks, etc. */\n pointer-events: none;\n}\n\n.popover__trigger {\n cursor: pointer;\n z-index: 5;\n}\n\n.popover[data-direction=top] .popover__trigger:hover ~ .popover__content {\n transform: translate3d(-50%, 0, 0);\n visibility: visible;\n opacity: 1;\n}\n.popover[data-direction=top] .popover__content {\n bottom: calc(100% + .5rem);\n left: 50%;\n transform: translate3d(-50%, -15px, 0);\n}\n.popover[data-direction=top] .popover__content:after {\n bottom: -0.5em;\n left: 50%;\n transform: translate3d(-50%, 0, 0);\n border-width: 0 0.5em 0.5em 0.5em;\n border-color: transparent transparent white transparent;\n filter: drop-shadow(1px -1px 1px #bcbcbc);\n}\n",cd="\n.directo_popover__directo-logo {\n width: 20px;\n height: 20px;\n margin-left: 2px;\n visibility: visible;\n opacity: 1;\n}\n\n/* Title */\n.directo_popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.directo_popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.directo_popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.directo_popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.directo_popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.directo_popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.directo_popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.directo_popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.directo_popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n\n.directo_popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n",ld=Pp(({item:e,cta:t,getSecondaryCtaSvg:o,isDirectoExtension:n,backlink:a})=>{const r=Dp(Ip.offersById.get(e.source_id)?.displayPrices??Tp(null),null);return(0,rr.jsx)(nd,{displayPrices:r??null,item:e,cta:t,getSecondaryCtaSvg:o,isDirectoExtension:n,backlink:a})}),ud=Pp(e=>{const t=Ip.offersById.get(e.sourceId);if(!t)return null;const{directoInfo:o,backlink:n}=t;if(!o||"loaded"!==o.type)return null;const a=o.data;return a?(0,rr.jsx)(id,{popover:(0,rr.jsx)(Bp,{item:a,isDirectoExtension:e.isDirectoExtension}),children:(0,rr.jsx)(ld,{item:a,cta:e.cta,getSecondaryCtaSvg:e.getSecondaryCtaSvg,isDirectoExtension:e.isDirectoExtension,backlink:Dp(n,null)})}):null}),md=({offer:{price:e,currency:t,providerName:o},providerSvgLogo:n,providerLogo:a,listingPrice:r,bestOffer:i,thereIsDiscount:s})=>{const c=null!==r?vi(r.totalPrice)-e:null;return(0,rr.jsxs)(rr.Fragment,{children:[(0,rr.jsxs)("div",{className:"popover__header",children:[(0,rr.jsxs)("div",{className:"popover__header-text",children:[nr(i&&s?"offers.best_offer":"offers.popover.header.text")," ",a?(0,rr.jsx)("img",{className:"popover__offer-provider-logo",src:a}):n]}),(0,rr.jsx)("div",{className:"popover__domain",children:(0,rr.jsx)("span",{className:"popover__domain-text",children:o})})]}),(0,rr.jsx)("span",{style:{color:s?"green":"auto",fontSize:s?"20px":"16px"},children:s&&null!==c?nr("offers.save",{price:Fp(Math.round(c),t)}):nr("offers.no_discount",{provider:o})})]})},pd="\n.offers-container {\n display: flex;\n gap: 10px;\n}\n.offers-container.offers-container-vertical {\n flex-direction: column;\n}\n.offers-container.offers-container-horizontal {\n flex-direction: row-reverse;\n}\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n.secondary-button:hover:before{\n opacity: 1;\n}\n.secondary-button:hover:active{\n background: none;\n}\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n\n.directo-cta-button-light {\n box-shadow: 0 0 5px 1px rgba(253, 195, 7, 0.5);\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n align-items: center;\n color: #000141;\n position: relative;\n}\n\n.directo-cta-provider-logo {\n margin-right: auto;\n max-height: 2rem;\n max-width: 5rem;\n}\n\n.directo-cta-button-light-shadow-pulse {\n animation: pulse-shadow 2s infinite ease-in-out;\n background-color: #edb602;\n}\n\n@keyframes pulse-shadow {\n 0% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n 50% {\n box-shadow: 0 0 20px 10px rgba(253, 195, 7, 0.7);\n }\n 100% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n.popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n\n.popover__header-text img {\n max-height: 2rem;\n max-width: 5rem;\n margin-left: 8px;\n}\n.popover__offer-provider-logo {\n margin-left: 6px;\n visibility: visible;\n opacity: 1;\n transform: scale(1.2) translateY(4px);\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n/* Skeleton Loader Styles */\n.skeleton-button {\n position: relative;\n width: 100%;\n height: 36px;\n background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);\n background-size: 200% 100%;\n border-radius: 4px;\n overflow: hidden;\n animation: skeleton-loading 1.5s ease-in-out infinite;\n}\n\n.skeleton-shine {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);\n animation: skeleton-shine 1.5s ease-in-out infinite;\n}\n\n@keyframes skeleton-loading {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@keyframes skeleton-shine {\n 0% {\n left: -100%;\n }\n 100% {\n left: 100%;\n }\n}\n\n/* Empty State Styles */\n.empty-state-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.empty-state-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n text-align: center;\n max-width: 320px;\n}\n\n.empty-state-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n}\n.empty-state-icon {\n width: 24px\n}\n",dd="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAYAAADV2ImkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwaSURBVHgB7Vl5jFXVGf+du7335s3K7AgCioqQWhWVtpg4iq0akVBbjEUtRdtKamrb1MZKY2KUWv9oTVWUaCqgSBFwSbS1LlSpaCUhpiLrFBiwDsww896bmbfe/fT77r0PBpkFXP5o6pmc3Pvucs7v/L7ft5w7wJftC21Cwf9Y0/A5N/m39yb6W7YsRKFYsKZfuLriulkH8Tk2gc/Q5PMvXSg/3L0EBdMRp076jXnJhdnYaxvfREfnRJgW4Kp7xFUXz3ATxjnq5u13oncgJqrGLBIP/2wPPl0Tn4VhIdv3rMPh1ERAgdzXcWUs29+Lw70tUDwgTlxY7hlyR/su1fWakRoASiXI/tyfpJRtQgiJk2/ypBiW27dX4oNd30B/wbSnThqnP/fyM/A8gVgMULVoOBl2Sd2n34QdPnXXAWzqA7b02mbO1CqScfejLk377a0bTgK8OCnA3tInnhS7P1oYAGuq85FJqeC5FPZdJRwuwCuPHgPAhNjnczradNSTPhRNoCcLYRgPiHVLFp8ohhMGLB98MCG3bCugZoyATmwqKvWIGDm4DwLrl18WR5/jax6d2LSSfBFeuj+lbVrdJEIoozE9eliTMhhDuf2xx3ykMllIN5zVi0zME7tRd+ie7UbX6ei64TU36p4XLqSM3HdgF/q6L4VQEZhoVAJH1bC45557xOzW1jHTEk3XxnZsfQCZTF34KnWNmE6QfqurANMEsiVyNAIr/YhdEcpFi+Ti+iG7PC1JRDoeqcRIuadN/Gl2xnlvtlw7M00E+SNoelQNK4dXrpzUsCe9Ab3picLK0UR2eEfXgbMmAQu/DzTUEzQC8K8PgRXPkmMVQibZgKc0AYsWQFZVw7zvD4j3ZELA1INHhE6PJWnA2L72OmXG2Y8u7sNRMR0HeKSwxosRta++M1/05ydCJ6sZ1FUlZK21Abj1FjJmDOmVa1Bx9hTELzgX/pwBCPotfHpGF/CvmgXUNyL19Bq477yL+rHjaa0xBKGQDeW7EG4B0vRPb0r736ZLK6K5h2RZGQWwYn2wvRvpbjJ5PgxNjhPq8YLzAWKt65FlOPTA/dh1y80w+/rhTJtGlmeze/DPmABx0XTkOw8hu3YdsSlg9Q2Q/G2SgwNJWvdKBdh9PSh270X/wfZunpNliKH1LJXhmG1ra+N76n1m98uO7XwcarDsYDRZU0MgVberG1WxClQrGuz+fngxA6ZtwW+ohvjxApSyBWSWPYFYoQSFxmCwTqEI1yrBJbB8dGi8kuJsPX37O29PnjxZ2bhx47BEDnWDTSFyuRwDV5VvzTGUtkuKwaMcT70QtGSmSIT65NNgGHEkTxmLWGsLrM6DyB06CGf2FbDiFci8+jr8tzdBIz2zK/kkAddksBTS7BJ1k+RMeh475WOaT9+7d69GgIfzrSCcHHdx3rx5yoYNG9RXHn587K3VzX9V2jvOBrERZjAEDlVq3w3/sktR8fWLYEw9C5Xzr4efTCKz6s+wcllU/eJ25A91YWDJ/YhR6FM469F7LAtBppEsGVq8T+zyMaYaZ/7q4jln9JxW/xdbUVyyMHbu3Dmk+Y+lV9J6RbAQfaBtzneqLLEKMSVIEoGA2PODMsFCpqURFb/8OWLjx8PL5ZBa/wIyzz6L8WueAerqkXloKfDKq1CMGJRkJfRCAYYMS8QgURBw3w9DHfFPkU5Bp+fPmr7z7X/SIw5h8cQnAtlxUUJETzQ3Nyv5dF8uqRBSUSFghNmtnI9U1UBs915kbvoB/HiMTOvShBI1ty2CaGnBwN//gYHXX0Pjr+9A9RXfpEyswuvPwlz7PPw1a6HJMCn5nku4iXFyZBrD74nJ0rhx40RnZ2cZyzHRYkhxT506VTl8+LCYsm3Tu3vSvUvNfC4YnJ0syLxkAIWcLJGsQW1FHWqUODleEuqESai5YT6sdB/SD/8RFTcvQMXll6GfNNx+/+8opzhQbroBhfFj4RBQj+Tg0tGmY94q4oDqLrlu97Z/E9ggQkVZFiMB5swWaKehoUGQJrXzOnc+6NZUbZFBamDAYcDnVxXdoCLNACvIIwar7r6TnKmE/tWrIShiJGdfjVIqjb133Qlz3VrsX7kcNqVj67zzKaM7cNgBGThpOKOqL13Z2bE8F2JSpk+ffsTaw0pCRgJm4KlUKjje+72bJlQbTV/x9+8jk4egy44X0ECJhBeg33wjjDPPQuatjXDXPwdjTB0EOWHx40OIUz2RoPKz2NUVJFe3MgnTtaEzCVEl19Q6eeblKmrfOnjALJDWS6XSkLF4SIa51dXVBQ8vyhtfox1EnN0i0BxNwLrzHCc40i94zQ2Iz50LO5tHbumjiHMZSU4oKXQZLc1wyAEtWmzlOV9lO6O048Mg9jqk20AaxLTX1VH/IxmbwWAZB1uZsAQcDgu4XHRQ8EZfX1/AZfHAXsfJZeBSvHQp6LuORedWED+9YEIbxl13kGmpPH5qJeLd3QhCTLGI9LJlUJMVmPjUCox7+ilMuPEGlDo64G5+j97zYNG7DNoi8MVSTg4U+0oRq4IwHCHvGIw4vin0MAdwTviJec3jmh6qablXg5yrV1ZBcE1xpAyWKE45He7130XhwEewn1yOBGc0cGHmIaeSycnJai6bBT2eQH7XDvQ8shQVlFw0hHHZp4XarufkdfWFa1Ndiy3LYoq506aQc1NQvY0ImK+xthlwBfVkDDHj6pam6sebxr+oqtopLIMgatAfs9RfLATllU5hT1XCUpx17VJyKJBFssSiSxc0mlinzsFRRIU+KXXrbZmeH+4vFvNKPF4yTZPBlsjp7Pfff7+8wRpaEuUFsIci5DF4wYKlbc6m3YQeb2YkHunOJQ07XMTTUwmKFnFyKoXf9kOdEzGU3WjVVBDWqjp1CoOUdNSgLiLde36Q4VTHb2ovFl3K7yxJv7q6mgH6BLZc6WMkwCxyVFVVlTczfgTarU8kSm4u77oWadkOwfLR5ULICwGGQKgop1rDdcOQ5ZM0OBL4XLD7IVCWC4c0h57zpJePMdFCeBQZ/Gw262OErdKQ9XBjY2OwOooUPjkf74ncbel0cptR9+hYXf+JKb0iwfSTRqxRkE4ZlMes0p8vQ7kEsxJITzJAAsrRhGXCzum7HboUtUJ6Slpoy6VhGHaoXTciSA4HeriqKCgtEeo4Ti1J2kog1DRfVxc0n5JcnKh6Q1EU4RBgm5nlVChEBDyUhsPscs0QmEvClMK53S217ctk/EEAi9zJsiWqEvncwdEPBMe046o1GVZUQWghswoyER+V8iJ0XVcJiLa1kJPzE5XnKq7XyoDz8A71eM7WuO+fytz45HAlMnlKyA2m4ySE71dxKOuB//KKTGozjeOrquppmkZr9cxkMmnl83mLIpSTyWTKLI/O8NFkF0YLkofR29tbjhjMcjzq6tW1DfG5mnGJpwv397mBTZ2mKVc3jr271rYvJ+XiP6qyalGm94mLkkljtqJdQNvU6qdLhTcOmPwdK2DXjsViJbJSkRZQInJMcniHo0OUdeWogD9xj1kth7hYBDgRnRvRvfL2XCG22BpYWFd/aj+F6Bf70ym6Vp7Up3s+M+tQY9kSIO6kNpMTBq0HFtXi3rRp0yRnuaFYHmkTOugDQsCGUllZKchswNHooSPSdAQ8iDqrcgP7GTiDpWN5DBmN4xFYx7ZtZpm34OaYMWMskgHfkyOBLbM4NNpQGnIQGK22tjZGetMIRJxCkBEB1gYDJgYFERiMS+e013QGh0gG5ZAT28SqQ05mkZOxgwVOxuyuX79+xLB2Ip+qAgckbamkLS0CqZOTaFSoBLIgHQYOSWlVIfYCiRCDMnrXp/se3WOLeIlEgirQkh2xW44G5Ygw+KPXkO2EPlWxA1xzzTUe7bN4Aqu1tbVEYFl3HDvzZPoCeTxrJU9Ag873iMk8AcwT2OA3SapAC+J3OHRZtFFwaMxAJlwzjAb2ZFvZCYNijMJP4IQURSrpSN+qUFtTU8Ofseqj3hAdx1Dn69XUk7RYjjb8rk4SUHGSH9U/zRf4wd8tEG3JVVqApAqvHDHK40ran0na8ki+TwvyOe1zJo20GjyDL7pFRXWZ8TLrWrmTqY84JC1Mi5hUBzH6qf9V8Zn+xzF4nEEZ8pNNDnP+Zfuy/V+2/wLQlMJlaj4ozgAAAABJRU5ErkJggg==",hd=({className:e,count:t})=>(0,rr.jsx)(rr.Fragment,{children:Array(t).fill(null).map((t,o)=>(0,rr.jsx)("div",{className:si(e,"skeleton-button"),children:(0,rr.jsx)("div",{className:"skeleton-shine"})},o))}),fd=()=>(0,rr.jsx)("div",{className:"empty-state-container",children:(0,rr.jsxs)("div",{className:"empty-state-content",children:[(0,rr.jsx)(Hs,{className:"empty-state-icon"}),(0,rr.jsx)("h3",{className:"empty-state-title",children:nr("offers.empty")})]})});function gd(e){return e.rate.base+(e.rate.taxes||0)+(e.rate.hotelFees||0)}function bd(e){return"offer"===e.type?gd(e.offer):e.displayPrices?e.displayPrices.displayedDirectoPrice:1/0}function yd(e,t){return bd(e)-bd(t)}const kd=new Map([["BOOKING",new Set(["Booking"])],["EXPEDIA",new Set(["Expedia"])]]);const vd=ed(),wd=({className:e,providerLogo:t,providerSvgLogo:o,bestOffer:n,onClick:a,price:r,currency:i})=>(0,rr.jsxs)("button",{onClick:a,className:si(e,"directo-cta-button-light",n&&"directo-cta-button-light-shadow-pulse"),children:[n&&(0,rr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,rr.jsx)("img",{src:dd,alt:"Directo",style:{width:"40px",height:"40px"}})}),t?(0,rr.jsx)("img",{className:"directo-cta-provider-logo",src:t}):o,(0,rr.jsx)("span",{style:{fontSize:"20px"},children:Fp(Math.floor(r),i)}),(0,rr.jsx)(Gs,{})]});function xd({offer:e,listingPrice:t,index:o,ctaPrefix:n}){const a=null!==t&&function(e,t){if(e.currency!==t.currency)return!1;const o=gd(e);return t.totalPrice/100-o>0}(e,t),r=0===o&&a,i=gd(e),s=e.currency,c=`${n}_${e.provider.name.replace(".","_").toUpperCase()}`,l=e.provider.logoUrl;return(0,rr.jsx)(id,{popover:(0,rr.jsx)(md,{offer:{price:i,currency:s,providerName:e.provider.name},providerLogo:l,listingPrice:t,bestOffer:r,thereIsDiscount:a}),children:(0,rr.jsx)(wd,{className:"offers-item",providerLogo:l,bestOffer:r,price:i,currency:s,onClick:async t=>{Et.openOutclickTab({cta:c,sourceUrl:window.location.href,targetUrl:e.url,sourceId:e.source_id,stayParams:e.stayParams,redirectEngineParams:null}),t&&t.stopPropagation()}})})}function jd({item:e,displayPrices:t,listingPrice:o,cta:n,index:a,getSecondaryCtaSvg:r,isDirectoExtension:i,backlink:s,forceDirectoButton:c}){if(!t||!gs(e.directo_url))return(0,rr.jsx)(id,{popover:(0,rr.jsx)(Bp,{item:e,isDirectoExtension:i}),children:(0,rr.jsx)(nd,{className:"offers-item",item:e,displayPrices:t,cta:n,getSecondaryCtaSvg:r,isDirectoExtension:i,backlink:s})});const l=0===a&&qp(t);return c&&l?(0,rr.jsx)(id,{popover:(0,rr.jsx)(md,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,rr.jsx)(Xs,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:o,bestOffer:l,thereIsDiscount:t.thereIsDiscount}),children:(0,rr.jsx)(nd,{className:"offers-item",item:e,displayPrices:t,cta:n,getSecondaryCtaSvg:r,isDirectoExtension:i,backlink:s})}):(0,rr.jsx)(id,{popover:(0,rr.jsx)(md,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,rr.jsx)(Xs,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:o,bestOffer:l,thereIsDiscount:t.thereIsDiscount}),children:(0,rr.jsx)(wd,{className:"offers-item",onClick:t=>{const o=fs(e.directo_url);vd.event(od,{outbound_url:o}),lf.navigateToDirectLink(o,n,{parametrised:e.stay_parametrised,sourceId:e.source_id,coupon:e.coupon,verified:e.verified,discount:e.discount,stayParams:e.stayParams,directPrice:e.pricing??null,backlink:s}),t&&t.stopPropagation()},price:t.displayedDirectoPrice,currency:t.displayedCurrency,bestOffer:l,providerSvgLogo:(0,rr.jsx)(Xs,{style:{maxHeight:"1.25rem",marginRight:"auto",marginTop:"-3px"},monochromatic:l})})})}const _d=({children:e,isVertical:t})=>(0,rr.jsx)("div",{className:si("offers-container",t?"offers-container-vertical":"offers-container-horizontal"),children:e}),Cd=Pp(({sourceId:e,options:t,platform:o,getSecondaryCtaSvg:n,isDirectoExtension:a})=>{const r=Ip.offersById.get(e);if(!r)throw new Error("Offers data not found for sourceId: "+e);if("loading"===r.alternativeOffers.type||"loading"===r.listingPrice.type||"loading"===r.directoInfo.type)return t.hideLoadingSkeleton?null:(0,rr.jsx)(_d,{isVertical:t.vertical,children:(0,rr.jsx)(hd,{count:t.loadingItems})});const{alternativeOffers:i,listingPrice:s,directoInfo:c,displayPrices:l,backlink:u}=r,m=Np(i,[]),p=Np(s,null),d=Np(c,null),h="error"===(f=l).type?{type:"loaded",data:null}:f;var f;const g=Dp(u,null),b=function(e,t,o,n,a){if(a<1)return[];const r=null!==t?{type:"directo",directoInfo:t,displayPrices:"loaded"===o.type?o.data:null}:null,i=e.filter(function(e){return t=>!kd.get(e)?.has(t.provider.name)}(n)).map(e=>({type:"offer",offer:e})),s=i.toSorted(yd);if(r){if(gs(r.directoInfo.directo_url))return r.directoInfo.pricing?"loading"===o.type?[r,...a>1?Array(a-1).fill({type:"loading",count:1}):[]]:o.data&&qp(o.data,2)?[r]:a>1?[r,...s.slice(0,a-1)].sort(yd):[r,...s].sort(yd).slice(0,a):s.slice(0,a);if(s.length>0){if("loading"===o.type)return[...s.slice(0,a-1),{type:"loading",count:1}];const e=s[0]?bd(s[0]):null,t=o.data?.displayedOtaPrice??null;return null!==e&&null!==t&&t>e?r.directoInfo.verified?[...s,r].sort(yd).slice(0,a):s.slice(0,a):[...s,r].sort(yd).slice(0,a)}return[r]}return s.slice(0,a)}(m,d,h,o,t.maxItems);return 0===b.length?t.hideEmptyState?null:(0,rr.jsx)(fd,{}):(0,rr.jsx)(_d,{isVertical:t.vertical,children:b.map((e,o)=>{switch(e.type){case"directo":return(0,rr.jsx)(jd,{index:o,item:e.directoInfo,displayPrices:e.displayPrices,listingPrice:p,cta:`${t.ctaPrefix}_DIRECTO`,getSecondaryCtaSvg:n,isDirectoExtension:a,forceDirectoButton:t.forceDirectoButton,backlink:g},o);case"offer":return(0,rr.jsx)(xd,{offer:e.offer,listingPrice:p,index:o,ctaPrefix:t.ctaPrefix},o);case"loading":return t.hideLoadingSkeleton?null:(0,rr.jsx)(hd,{count:e.count},o);default:Ot(e)}})})}),zd=ed(),Sd=({children:e})=>(0,rr.jsx)("div",{className:"dr-floating-directo dr-direct",children:(0,rr.jsx)("span",{style:{position:"relative",zIndex:10},children:e})});class Ed extends Go.Component{box=Go.createRef();sourceId;backgroundColor;platform;isDirectoExtension;constructor(e){super(e),this.sourceId=e.sourceId,this.navigate=this.navigate.bind(this),this.backgroundColor=e.backgroundColor,this.platform=e.platform,this.isDirectoExtension=e.isDirectoExtension}navigate(e,t){return o=>{o.preventDefault();const n=fs(e.directo_url);zd.event("click_out_ml",{outbound_url:n}),lf.navigateToDirectLink(n,"LIST",{parametrised:e.stay_parametrised,sourceId:e.source_id,verified:e.verified,coupon:e.coupon,discount:e.discount,stayParams:e.stayParams,directPrice:e.pricing??null,backlink:t})}}getThumbs(e){const t=e.score??0;let o="👍";return t>=70?o="👍👍👍":t>=50&&(o="👍👍"),t?(0,rr.jsx)("div",{className:"dr-floating-score-icon",children:o}):null}getFloatingLabel(e){return this.isDirectoExtension?e.coupon?(0,rr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,rr.jsx)(Ys,{})}):e.discount?(0,rr.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,rr.jsx)("img",{src:dd,alt:"Directo",className:"dr-h-7 dr-w-7"})}):this.getThumbs(e):null}getTooltipText(e){if(!this.isDirectoExtension)return nr("label.tooltip");const{score:t,discount:o,coupon:n}=e,a=gs(e.directo_url);return nr(a?"label.own_ota_tooltip":n?"label.coupon_tooltip":o?"label.discount_tooltip":t&&t>70?"label.high_score_tooltip":t?"label.score_tooltip":"label.tooltip")}render(){const e=Ip.offersById.get(this.sourceId);let t=null,o=null;if(e&&(t="loading"===e.directoInfo.type?null:Np(e.directoInfo,null),o="loading"===e.backlink.type?null:Np(e.backlink,null)),!t)return null;const n="GOOGLE"===Or(window.location.href);return(0,rr.jsxs)("button",{onClick:this.navigate(t,o),ref:this.box,style:{position:"relative",backgroundColor:this.backgroundColor},className:"dr-floating-container",children:[this.getFloatingLabel(t),!n&&(0,rr.jsx)("span",{className:"dr-floating-container-before",style:{boxShadow:`${"BOOKING"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}}),(0,rr.jsx)(Sd,{children:this.props.labelSVG},t.source_id),(0,rr.jsx)("div",{className:"dr-floating-label-popover",children:this.getTooltipText(t)}),!n&&(0,rr.jsx)("span",{className:"dr-floating-container-after",style:{boxShadow:`${"BOOKING"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}})]})}}const Od=Pp(Ed);class Ad{base=this.constructor;platform;displayName;rendererConfig;listingsInPage=new Set;renderedLabels={};renderedSecondaryCTAs={};insertedOffersComponents={};debouncedRenderMLs=null;constructor(e,t,o){this.rendererConfig=e,this.platform=t,this.displayName=o}async getDestinationInUrl(){return null}async getHotelIdInDetail(){return null}async getHotelIdInCheckout(){return null}async insertOffersComponentInList(e){}async insertOffersComponentInDetail(e){}async getListingQueryParamMap(e,t){return this.getPlatformQueryParamMap(t)}static getSection(e){throw new Error("Method not implemented.")}getLinkId(){if(!this.platform)throw new Error("Platform not set");return`${this.platform.substring(0,3)}${this.getItemId()}`}async getListingLoS(e){const t=await this.buildListingQueryParam("checkin",e),o=await this.buildListingQueryParam("checkout",e);return t&&o?function(e,t){const o=new Date(e),n=new Date(t),a=Math.ceil((n.getTime()-o.getTime())/864e5);return isNaN(a)||a<1?null:a}(t,o):null}async getPrice(e){if(!await this.getListingLoS(e))return null;const t=this.base.getSection(new URL(window.location.href));return"DETAIL"===t?await this.getDetailPrice():"LIST"===t?await this.getPriceFromList(e):"CHECKOUT"===t?await this.getCheckoutPrice(e):null}async buildPricingMetadata(){return null}filterNewListingsInPage(e){const t=[];return e.forEach(e=>{this.listingsInPage.has(e)||t.push(e),this.listingsInPage.add(e)}),this.listingsInPage.forEach(t=>{e.find(e=>e===t)||this.listingsInPage.delete(t)}),t}cleanAllListingsAndElements(){for(const e of Object.keys(this.renderedLabels))this.cleanRenderedLabel(e);for(const e of Object.keys(this.renderedSecondaryCTAs))this.cleanRenderedSecondaryCTAs(e);for(const e of Object.keys(this.insertedOffersComponents))this.cleanInsertedOffersComponent(e);this.listingsInPage.clear()}setRenderedLabel(e,t){this.renderedLabels[e]=t}cleanRenderedLabel(e){this.renderedLabels[e]&&(this.renderedLabels[e].unmount(),delete this.renderedLabels[e])}setRenderedSecondaryCTA(e,t){this.renderedSecondaryCTAs[e]||(this.renderedSecondaryCTAs[e]=new Set),this.renderedSecondaryCTAs[e].add(t)}cleanRenderedSecondaryCTAs(e){this.renderedSecondaryCTAs[e]&&(this.renderedSecondaryCTAs[e].forEach(e=>e.unmount()),delete this.renderedSecondaryCTAs[e])}setInsertedOffersComponent(e,t){this.insertedOffersComponents[e]=t}cleanInsertedOffersComponent(e){this.insertedOffersComponents[e]&&(this.insertedOffersComponents[e].unmount(),delete this.insertedOffersComponents[e])}async insertSecondaryCTA(e,t,o,n,a=document.body){if(!1===this.rendererConfig.renderSecondaryCTAs)return null;const r=n||e.source_id,i=this.renderedSecondaryCTAs[r];if(i&&[...i].every(e=>e.$container.isConnected))return null;const s=await lo(Bo,e=>!e,10)(t,a);if(!s)return null;this.cleanRenderedSecondaryCTAs(r);const c=function(e,t,o,n,a){const r=document.createElement("div"),i=r.attachShadow({mode:"closed"}),s=document.createElement("style");s.innerHTML=[rd,ad(n),sd,cd].join("\n"),i.appendChild(s);const c=document.createElement("div");i.appendChild(c);const l=(0,ir.H)(c);return l.render((0,rr.jsx)(ud,{sourceId:e.source_id,cta:t,getSecondaryCtaSvg:o,isDirectoExtension:a})),{$container:r,$reactRoot:c,unmount:()=>{l.unmount(),r.remove()}}}(e,o,this.rendererConfig.customization.getSecondaryCtaSvg,this.rendererConfig.customization.mainColorHex,this.rendererConfig.isDirectoExtension);return s.appendChild(c.$container),this.setRenderedSecondaryCTA(r,c),c}async insertOffersComponent(e,t){if(!1===this.rendererConfig.renderAlternativeOffers)return null;const{idSuffix:o,selector:n,container:a=document.body,componentOptions:r}=t,i=`${e}${o?`-${o}`:""}`,s=this.insertedOffersComponents[i];if(s&&s.$container.isConnected)return null;let c=null;if(c=n?await lo(Bo,e=>!e,10)(n,a):a,!c)return null;const l=function(e,t,o,n,a,r){const i=document.createElement("div"),s=i.attachShadow({mode:"closed"}),c=document.createElement("style");c.innerHTML=[pd,ad(a),sd,cd,o.styles?o.styles:""].join("\n"),s.appendChild(c);const l=document.createElement("div");s.appendChild(l);const u=(0,ir.H)(l);return u.render((0,rr.jsx)(Cd,{sourceId:e,options:o,platform:t,getSecondaryCtaSvg:n,isDirectoExtension:r})),{$container:i,unmount:()=>{u.unmount(),i.remove()}}}(e,this.platform,r,this.rendererConfig.customization.getSecondaryCtaSvg,this.rendererConfig.customization.mainColorHex,this.rendererConfig.isDirectoExtension);return this.cleanInsertedOffersComponent(i),c.appendChild(l.$container),this.setInsertedOffersComponent(i,l),l}async canMakePricingRequest(e){const t=await this.buildListingQueryParam("checkin",e),o=await this.buildListingQueryParam("checkout",e);return!!t&&!!o}async buildPlatformQueryParam(e,t=window.location.href){const o=new URL(t);return Ea((await this.getPlatformQueryParamMap(o))[e])}async buildListingQueryParam(e,t,o=window.location.href){const n=new URL(o);return Ea((await this.getListingQueryParamMap(t,n))[e])}async getShouldClearOffers(e,t,o={}){return!!e&&!function(e,t,o={}){return e.protocol===t.protocol&&e.username===t.username&&e.password===t.password&&e.host===t.host&&e.pathname===t.pathname&&(!o.compareHash||e.hash===t.hash)&&function(e,t,o){const n=o?[...e]:er(e),a=o?[...t]:er(t);if(n.length!==a.length)return!1;for(let e=0;e<n.length;e++){const t=n[e],o=a[e];if(t[0]!==o[0]||t[1]!==o[1])return!1}return!0}(e.searchParams,t.searchParams,o.checkQueryParamsOrder??!1)}(e,t,{compareHash:!1,checkQueryParamsOrder:!1,...o})}shouldRenderLabel(e){return!!this.rendererConfig.renderLabels&&(!gs(e.directo_url)||!this.rendererConfig.hideOwnOtaLabels)}renderLabel(e,t,o="white",n=!1){return function(e,t,{styles:o,labelBackgroundColor:n="white",hoverRight:a=!1,labelSVG:r,labelCSSDefinition:i,isDirectoExtension:s}){const c=document.createElement("div"),l=c.attachShadow({mode:"closed"}),u=function(e,t,o="",n=!1){const a=document.createElement("style");return a.innerHTML="\n.dr-floating-directo {\n position: relative;\n margin-top: 5px;\n}\n\n.dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dr-floating-score-icon {\n position: absolute;\n top: -12px;\n left: -20px;\n background-color: #3B82F6;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border: 3px solid white;\n border-radius: 99px;\n padding: 2px 6px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-container-before,\n.dr-floating-container-after {\n z-index: -1;\n}\n.dr-floating-container-before {\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: 0px;\n background: transparent;\n border-radius: 50%;\n}\n.dr-floating-container-after {\n position: absolute;\n width: 20px;\n height: 20px;\n top: -20px;\n background: transparent;\n border-radius: 50%;\n}\n @keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}",a.innerHTML+=`.dr-floating-container {\n\n ${"BOOKING"===t?"border-top-right-radius: 25px; margin-left: 0;":"border-top-left-radius: 10px; margin-left: 5px;"}\n }\n .dr-floating-container-before,\n .dr-floating-container-after {\n box-shadow: ${"BOOKING"===t?"-10px":"10px"} 10px 0 ${e};\n }\n .dr-floating-container-before {\n ${"BOOKING"===t?"right: -20px;":"left: -20px;"}\n }\n.dr-floating-container-after {\n ${"BOOKING"===t?"left: 0px;":"VRBO"===t?"left: 30px;":"left: 25px;"}\n\n}\n `,a.innerHTML+=`\n .dr-floating-label-popover {\n position: absolute;\n ${["BOOKING","GOOGLE"].includes(t)?"top: -51px;left: 50%; border-radius: 8px;":"left: -60px;top: -33px;border-radius: 8px 8px 2px 8px;"}\n color: #000141;\n transform: translateX(-50%);\n background: white;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n z-index: 999;\n visibility: hidden;\n opacity: 0;\n transition: all .15s ease-in-out;\n font-weight: 600;\n width: 148px;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: center;\n pointer-events: none;\n }\n .dr-floating-container:hover .dr-floating-label-popover {\n visibility: visible;\n opacity: 1;\n ${["BOOKING","GOOGLE"].includes(t)?`top: -41px;left: ${n?130:50}%;`:"left: -60px;top: -23px;border-radius: 8px 8px 2px 8px;"}\n }\n `,a.innerHTML+=o,a}(n,t,i,a);l.appendChild(u);const m=document.createElement("div");Object.assign(m.style,o),l.appendChild(m);const p=(0,ir.H)(m);return p.render((0,rr.jsx)(Od,{sourceId:e,backgroundColor:n,platform:t,isDirectoExtension:s,labelSVG:r})),{$container:c,unmount:()=>{p.unmount(),c.remove()}}}(e,this.platform,{styles:t,labelBackgroundColor:o,hoverRight:n,labelSVG:this.rendererConfig.customization.labelSVG,labelCSSDefinition:this.rendererConfig.customization.labelCSSDefinition,isDirectoExtension:this.rendererConfig.isDirectoExtension})}}const Ld=function(){return l.Date.now()};var Pd=/\s/;var Id=/^\s+/;const Dd=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Pd.test(e.charAt(t)););return t}(e)+1).replace(Id,""):e};var Nd=/^[-+]0x[0-9a-f]+$/i,Td=/^0b[01]+$/i,Rd=/^0o[0-7]+$/i,Md=parseInt;const $d=function(e){if("number"==typeof e)return e;if(mo(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Dd(e);var o=Td.test(e);return o||Rd.test(e)?Md(e.slice(2),o?2:8):Nd.test(e)?NaN:+e};var Bd=Math.max,Ud=Math.min;const Vd=function(e,t,o){var n,a,r,i,s,c,l=0,u=!1,m=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function d(t){var o=n,r=a;return n=a=void 0,l=t,i=e.apply(r,o)}function h(e){var o=e-c;return void 0===c||o>=t||o<0||m&&e-l>=r}function f(){var e=Ld();if(h(e))return g(e);s=setTimeout(f,function(e){var o=t-(e-c);return m?Ud(o,r-(e-l)):o}(e))}function g(e){return s=void 0,p&&n?d(e):(n=a=void 0,i)}function b(){var e=Ld(),o=h(e);if(n=arguments,a=this,c=e,o){if(void 0===s)return function(e){return l=e,s=setTimeout(f,t),u?d(e):i}(c);if(m)return clearTimeout(s),s=setTimeout(f,t),d(c)}return void 0===s&&(s=setTimeout(f,t)),i}return t=$d(t)||0,y(o)&&(u=!!o.leading,r=(m="maxWait"in o)?Bd($d(o.maxWait)||0,t):r,p="trailing"in o?!!o.trailing:p),b.cancel=function(){void 0!==s&&clearTimeout(s),l=0,n=c=a=s=void 0},b.flush=function(){return void 0===s?i:g(Ld())},b},qd='[data-testid="content-scroller"]';function Fd(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Hd extends Ad{constructor(e){super(e,"AIRBNB","Airbnb")}shouldActivate(e){return/airbnb\.[.a-z]{2,7}/i.test(e)}getListingsInPage(){const e=document.querySelectorAll("a.bn2bl2p");return Array.from(e).map(e=>{const t=e.getAttribute("target")?.replace("listing_","");return t})}findListingElement(e){return document.querySelector(`[target=listing_${e}]`)}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const o=t.closest('[itemprop="itemListElement"]');o&&this.insertOffersComponent(e,{idSuffix:"list",container:o,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Kd,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.shouldRenderLabel(t)){const t=this.findListingElement(e);if(t){const o=null!==t.closest(qd),n=this.getLabelPlacement(t),a=o?"#F7F6F2":"white",r=this.renderLabel(e,n,a);this.setRenderedLabel(e,r),this.appendLabel(t,r.$container)}}}async insertSecondaryCTAInDetailView(e){}async insertOffersComponentInDetail(e){this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta",selector:Gd,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:Yd,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async insertOffersComponentInCheckoutView(e){const t=await this.insertSecondaryCTA(e,['[data-section-id="CONFIRM_AND_PAY"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;t.$container.parentElement&&(t.$container.parentElement.style.display="flex"),t.$container.style.marginLeft="10px";const o=await lo(()=>Bo([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();o&&(o.style.borderRadius="8px",o.style.padding="18px 12px",o.style.fontSize="16px",o.style.gap="12px",o.style.height="48px",o.style.right="0px")}getLabelPlacement(e){const{top:t,right:o}=function(e){const t=e.parentElement?.parentElement;if(!t)return console.warn("Parent element not found."),{right:-5,top:0};const o=Bo(["picture img"],t);if(!o)return console.warn("Picture element not found."),{right:-5,top:0};const n=null!==e.closest(qd);return{right:-5,top:o.height-(n?70:54)}}(e);return{position:"absolute",top:`${t}px`,right:`${o}px`,zIndex:"1",borderTopLeftRadius:"25px"}}appendLabel(e,t){const o=bs(1,3);try{switch(o){case 1:return e.append(t);case 2:return e.parentElement.append(t);case 3:return e.parentElement.children[1].append(t)}}catch(o){return e.append(t)}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Vd(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await lo(Bo,e=>!e)(["[itemprop=itemListElement]"]);new MutationObserver(e=>{for(const t of e)!Fd(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){if(!e)return null;const t=this.findListingElement(e);if(!t)return null;if(null!==t.closest(qd))return null;const o=await lo(Bo,e=>!e,2)(['[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"] [role="button"]','[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"]'],t.parentElement);if(!o)return null;const n=[...o.querySelectorAll("span")].find(e=>"clip"!==getComputedStyle(e).overflow);if(!n)return null;const a=n.textContent,r=wi(a),i=await this.buildListingQueryParam("currency",e);if(null===r||!i)return null;const s=await this.getListingLoS(e);return null===s?null:{priceString:a,currency:i,priceStringIsNightly:!1,totalPrice:r,nightlyPrice:r/s}}async getCheckoutPrice(e){const t=Bo(['[data-testid="pd-value-TOTAL"]']);if(!t)return null;const o=t.textContent||"",n=wi(o),a=await this.buildListingQueryParam("currency",e);if(null===n||!a)return null;const r=await this.getListingLoS(e);return null===r?null:{priceString:o,currency:a,priceStringIsNightly:!1,totalPrice:n,nightlyPrice:n/r}}async canMakePricingRequest(e){const{hash:t}=window.location,o=t.includes("availability-calendar");return await super.canMakePricingRequest(e)&&!o}async getDetailPrice(){let e="";const t=await lo(()=>{const e=Bo(['[data-testid="book-it-default"] button']);if(!e)return null;const t="dialog"===e.getAttribute("aria-haspopup");return[...e.querySelectorAll("span")].find(e=>{const o=getComputedStyle(e);return"solid"===o.textDecorationStyle&&(!!t||"underline"===o.textDecorationLine)})||null},e=>!e)();t&&(e=t.textContent||"");const o=e.replace(/\n/gm,""),n=this.getItemId();if(null===n)return null;const a=await this.buildListingQueryParam("currency",n),r=wi(o);if(null===r||!a)return null;const i=await this.getListingLoS(n);return null===i?null:{priceString:o,currency:a,priceStringIsNightly:!1,totalPrice:r,nightlyPrice:r/i}}getItemId(e){return(Ar.exec(e||location.href)||[])[3]??null}async getItemIdOnOTACheckout(){return(/(www\.)?airbnb\.[.a-z]{2,7}\/book\/stays\/(\d+)/i.exec(location.href)||[])[2]??null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),o=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return o||e.directo_url}async getDestinationInUrl(){const e=/[https:\/\/]*[www]*\.airbnb\.[^\/]+\/s\/([^\/]+)\/homes/i.exec(location.href);return e?.length?decodeURIComponent(e[1]):null}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin")||Da(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout")||Da(new Date(Date.now()+16641e4)),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:async()=>{try{if(e.searchParams.has("display_currency"))return e.searchParams.get("display_currency");if(e.searchParams.has("currency"))return e.searchParams.get("currency");if(e.searchParams.has("guestCurrency"))return e.searchParams.get("guestCurrency");const t=await lo(()=>Uo(["footer button span:not(:has(*))"]),e=>!e||0===e.length,8)();if(!t||0===t.length)throw new Error("Could not scrape platform currency in Airbnb (no candidates)");const o=[...t].map(e=>e.textContent.replace(/\n/gm,"")).filter(Pi).at(-1)??null;if(!o)throw new Error("Could not scrape platform currency in Airbnb (no valid currency)");return o}catch(e){return console.error("Error getting currency from Airbnb URL or page",e),null}}}}static getSection(e){const t=e.href;return Lr.test(t)?"LIST":Ar.test(t)?"DETAIL":Pr.test(t)?"CHECKOUT":"UNKNOWN"}cleanRenderedSecondaryCTA(e,t){e.remove(),delete this.renderedSecondaryCTAs[t]}}const Kd="\n.offers-container {\n margin-top: 0.5em;\n}\n",Gd=['._wgmchy[data-testid="book-it-default"]'],Yd="\n.offers-container, .empty-state-container {\n margin-top: 10px;\n}\n\n.offers-item {\n border-radius: 8px;\n padding: 15px 12px;\n}\n\n.skeleton-button {\n padding: 5px 0;\n}\n",Qd=function(e,t,o,n){if(!y(e))return e;for(var a=-1,r=(t=zo(t,e)).length,i=r-1,s=e;null!=s&&++a<r;){var c=So(t[a]),l=o;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(a!=i){var u=s[c];void 0===(l=n?n(u,c,s):void 0)&&(l=y(u)?u:ce(t[a+1])?[]:{})}Y(s,c,l),s=s[c]}return e},Wd=function(e,t){if(null==e)return{};var o=wo(He(e),function(e){return[e]});return t=Bs(t),function(e,t,o){for(var n=-1,a=t.length,r={};++n<a;){var i=t[n],s=Eo(e,i);o(s,i)&&Qd(r,zo(i,e),s)}return r}(e,o,function(e,o){return t(e,o[0])})},Jd=function(e,t){var o={};return t=Bs(t),Po(e,function(e,n,a){K(o,n,t(e,n,a))}),o};var Zd=function(){return Zd=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var a in t=arguments[o])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},Zd.apply(this,arguments)};function Xd(e,t){for(var o={},n={},a=e.split("~~"),r=!1,i=0;a.length>i;i++){for(var s=a[i].split("~"),c=0;c<s.length;c+=2){var l=s[c],u=s[c+1],m="&"+l+";";o[m]=u,r&&(o["&"+l]=u),n[u]=m}r=!0}return t?{entities:Zd(Zd({},o),t.entities),characters:Zd(Zd({},n),t.characters)}:{entities:o,characters:n}}var eh={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},th={};th.xml=Xd("lt~<~gt~>~quot~\"~apos~'~amp~&"),th.html4=Xd("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),th.html5=Xd('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',th.html4);var oh={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},nh=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},ah=(String.prototype.codePointAt,function(){return ah=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var a in t=arguments[o])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},ah.apply(this,arguments)}),rh=ah(ah({},th),{all:th.html5}),ih={scope:"body",level:"all"},sh=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,ch=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,lh={xml:{strict:sh,attribute:ch,body:eh.xml},html4:{strict:sh,attribute:ch,body:eh.html4},html5:{strict:sh,attribute:ch,body:eh.html5}},uh=ah(ah({},lh),{all:lh.html5}),mh=String.fromCharCode,ph=mh(65533);function dh(e){if("childList"===e.type){if(e.removedNodes.length)return!0;const t=e.addedNodes[0];if(""===t?.className&&"DIV"===t?.nodeName)return!0;if(t&&"dr-floating-container"===t?.firstChild?.className)return!0}return!1}class hh extends Ad{isGridMode=void 0;embeddedInfoCache=null;constructor(e){super(e,"BOOKING","Booking.com")}shouldActivate(e){return/booking\.com/i.test(e)}static getItemId(e=window.location.href){return ti(e)}getListingsInPage(){if(this.isMapOpen)return[];const e=Uo(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']),t=Array.from(e||[]).map(e=>{const t=e.querySelector("a");let o=t?.getAttribute("href");return ei((n=o.match(/[^]+?\.html/))&&n.length?n[0]:void 0);var n});return this.filterNewListingsInPage(t)}getListingCardContainer(e){const t=e.closest('[data-testid="property-card-container"]');return t?.firstChild?.firstChild??null}findListingElement(e){const t=Uo(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']);if(!t||0===t.length)return null;let o=null;for(const n of t){const t=n.querySelector("a")||n,a=t.getAttribute("href");if(a&&ei(a)===e){o=t;break}}return o?this.getListingCardContainer(o):null}get isMapOpen(){const{hash:e}=window.location;return e.includes("map_opened")}async setGridMode(){const e=await lo(Bo,e=>!e,5)(['[role="radiogroup"]']);return void 0===this.isGridMode&&(this.isGridMode="grid"===e.querySelector("[checked]")?.getAttribute("value")),e&&e.addEventListener("change",()=>{this.cleanAllListingsAndElements(),Ip.clear(),this.isGridMode=!this.isGridMode,this.debouncedRenderMLs?.()}),this.isGridMode}async insertOffersComponentInList(e){setTimeout(()=>{if(this.isMapOpen)return;const t=this.findListingElement(e);if(!t)return;const o=t.closest('[data-testid="property-card"]');o&&this.insertOffersComponent(e,{idSuffix:"list",container:o,componentOptions:{maxItems:4,loadingItems:3,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:fh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!0}})},2e3)}async insertOffersComponentInDetail(e){const t=await lo(e=>Bo(e),e=>null===e,10)([".hprt-reservation-cta"]);t&&(await this.insertOffersComponent(e,{idSuffix:"detail",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:gh,ctaPrefix:"OFFERS_IN_DETAIL"}}),this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta-alt",selector:bh,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_ALT",styles:yh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}),this.insertOffersComponent(e,{idSuffix:"detail-secondary-cta-book",selector:kh,componentOptions:{forceDirectoButton:this.rendererConfig.isDirectoExtension,maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:vh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}))}async insertSecondaryCTAInDetailView(e){}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.isMapOpen)return;const o=this.findListingElement(e);if(!o)return;const n=o.closest('[data-testid="property-card"]');if(n){if(this.shouldRenderLabel(t)){const t=window.getComputedStyle(n).getPropertyValue("background-color"),a=this.getLabelPlacement(o),r=this.renderLabel(e,a,t);this.setRenderedLabel(e,r),this.appendLabel(e,n,r.$container)}this.rankListing(t,n)}}rankListing(e,t){if(t&&t.parentElement)try{const o=new URL(window.location.href).searchParams.get("order");if(e.ranking&&(!o||"popularity"===o)){const e=t.parentElement;e.insertBefore(t,e.firstChild)}}catch(e){console.error(e)}}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}debouncedInsertOffersComponentInCheckoutView=Vd(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async insertOffersComponentInCheckoutViewToDebounce(e){this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta-book",selector:wh,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:xh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}appendLabel(e,t,o){t.append(o),setTimeout(()=>{const n=this.findListingElement(e);n&&(n===t||this.appendLabel(e,n,o))},2e3)}getLabelPlacement(e){return{position:"absolute",zIndex:"200",bottom:"0px",borderTopRightRadius:"25px"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Vd(e,2500,{trailing:!0})),setTimeout(async()=>{const e=(await lo(Bo,e=>!e)(['[data-testid="property-card"]'])).parentElement,t=new MutationObserver(e=>{this.cleanAllListingsAndElements()});t.disconnect();const o=e.parentElement?.parentElement?.parentElement?.querySelector(".d3c5f9b609");t.observe(o,{childList:!0,subtree:!0});const n=new MutationObserver(e=>{for(const t of e)!dh(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()});n.disconnect();const a=e.parentElement?.parentElement?.parentElement?.querySelector('[data-results-container="1"]');n.observe(a,{childList:!0,subtree:!0}),this.setGridMode()},2e3),this.debouncedRenderMLs()}async getPriceObject(e,t,o){const n=wi(t);if(null===n)return null;const a=await this.getListingLoS(e);return null===a?null:{priceString:t,currency:o,priceStringIsNightly:!1,nightlyPrice:n/a,totalPrice:n}}async getPriceFromList(e){const t=this.findListingElement(e),o=await lo(Bo,e=>!e,2)(['[data-testid="price-and-discounted-price"]'],t?.parentElement?.parentElement?.parentElement);if(!o)return null;const n=o.textContent,a=n.replace(/\n/gm,""),r=Li(n.replace(/[0-9\s,.]/g,"").trim(),await this.getSymbolToCurrencyCodeMap()??void 0);return r?this.getPriceObject(e,a,r):null}async getDetailPrice(){const e=await lo(Bo,e=>!e,2)(["#hprt-table .bui-price-display__value"]);if(!e)return null;const t=e.textContent.replace(/\n/gm,""),o=this.getItemId();if(null===o)return null;const n=await this.getDetailCurrency(t);return n?this.getPriceObject(o,t,n):null}async isPartnerOffer(){return"DETAIL"!==hh.getSection(new URL(window.location.href))?null:await lo(Bo,e=>!e,8)(["#hprt-table tr"])?!!Bo([".tpi-options--partner-offer-new"]):null}async getGeniusLevel(){const e=await lo(Bo,e=>!e,8)(['[data-testid="header-profile-avatar"] + div > div:last-child']);if(!e)return null;const t=e.textContent?.trim()||"",o=t.match(/\d+/g)?.pop();return o?parseInt(o,10):null}async buildPricingMetadata(){return{booking_com_genius_level:await this.getGeniusLevel(),booking_com_is_partner_offer:await this.isPartnerOffer()}}getCurrencyFromUtagData(){return this.getValueFromUtagData("currency")}async getDetailCurrency(e){const t=await this.getCurrencyFromUtagData();return t||Li(e.replace(/[0-9\s,.]/g,"").trim(),await this.getSymbolToCurrencyCodeMap()??void 0)}async getCheckoutPriceElement(){return lo(Bo,e=>!e,12)(['[data-component="core/animate-price"]'])}async getCheckoutPrice(e){const t=await this.getCheckoutPriceElement();if(!t)return null;const o=t.textContent.replace(/\n/gm,""),n=await this.getCheckoutCurrency(t);return n?this.getPriceObject(e,o,n):null}async getCheckoutCurrency(e){const t=e.getAttribute("data-currency");if(t)return t;const o=e.textContent;return o?this.getDetailCurrency(o):null}getItemId(e){return hh.getItemId(e)}async getItemIdOnOTACheckout(){try{return this.getItemIdOnOTACheckoutFromJsonApplicationContext()||this.getItemIdOnOTACheckoutFromSidebar()}catch(e){return console.error(e),null}}getItemIdOnOTACheckoutFromJsonApplicationContext(){const e=Bo(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Ht(e.textContent||"{}"),o=Oo(t,"body.BPRenderData.bookingSummaryDetails.hotelAbsoluteUrl",null);return"string"!=typeof o?null:this.getItemId(o)}getItemIdOnOTACheckoutFromSidebar(){const e=Bo(['[data-testid="booking-details-date-summary"]'])?.parentElement,t=e?.querySelector("a"),o=t?.getAttribute("href");return o?this.getItemId(o):null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),o=t?.parentElement?.parentElement?.parentElement?.querySelector('[data-testid="title"]')?.textContent;return o||e.directo_url}async getDestinationInUrl(){return null}getScriptTagWithUtagDataContent(){const e=/window\.utag_data = ({\n[^]*?});/gm.exec(window.document.body.innerHTML);return e?e[1]:null}async getUtagData(){try{return await lo(()=>{const e=this.getScriptTagWithUtagDataContent();if(!e)return null;return qt(Ht(e.replace(/'/g,'"').replace(/([a-zA-Z0-9_]+):/g,'"$1":').split("\n").filter(e=>(e.match(/"/g)||[]).length<=4).join("\n")))||null},e=>!e,3)()}catch(e){return null}}async getValueFromUtagData(e){try{const t=await this.getUtagData();if(!t)return null;if(!(e in t))return null;const o=String(t[e]).trim();return["-1",""].includes(o)?null:o}catch(e){return console.error(e),null}}symbolToCurrencyCodeMapCache;async getSymbolToCurrencyCodeMap(){if(this.symbolToCurrencyCodeMapCache)return this.symbolToCurrencyCodeMapCache;try{const e=qt(await lo(()=>Et.readWindowPropertyFromMainWorld({path:"booking.env.accounting_config.html_symbol"}),e=>null===e)());if(!e)return this.symbolToCurrencyCodeMapCache={},this.symbolToCurrencyCodeMapCache;const t=Wd(e,e=>"string"==typeof e),o=Jd(t,e=>function(e,t){var o=void 0===t?ih:t,n=o.level,a=void 0===n?"all":n,r=o.scope,i=void 0===r?"xml"===a?"strict":"body":r;if(!e)return"";var s=uh[a][i],c=rh[a].entities,l="attribute"===i,u="strict"===i;return e.replace(s,function(e){return function(e,t,o,n){var a=e,r=e[e.length-1];if(o&&"="===r)a=e;else if(n&&";"!==r)a=e;else{var i=t[e];if(i)a=i;else if("&"===e[0]&&"#"===e[1]){var s=e[2],c="x"==s||"X"==s?parseInt(e.substr(3),16):parseInt(e.substr(2));a=c>=1114111?ph:c>65535?nh(c):mh(oh[c]||c)}}return a}(e,c,l,u)})}(e,{level:"html5",scope:"strict"}));return this.symbolToCurrencyCodeMapCache=zi(o),this.symbolToCurrencyCodeMapCache}catch(e){return console.error("Error fetching symbol to currency code map from background:",e),this.symbolToCurrencyCodeMapCache={},this.symbolToCurrencyCodeMapCache}}async getHotelIdInDetail(){return await this.getValueFromUtagData("hotel_id")??this.getHotelIdFromHiddenInput()??this.getHotelIdOnOtaCheckoutFromJsonApplicationContext()}async getHotelIdInCheckout(){return this.getHotelIdInDetail()}getHotelIdFromHiddenInput(){const e=Bo(['input[name="hotel_id"]']);if(!e)return null;const t=e.value.trim();return"string"!=typeof t||""===t?null:t}getHotelIdOnOtaCheckoutFromJsonApplicationContext(){const e=Bo(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Ht(e.textContent||"{}"),o=Oo(t,"body.hotel_id",null);return"string"!=typeof o||""===o?null:o}async getPlatformQueryParamMap(e){const{search:t}=e;return No(t?.split(";").slice(1),t=>{const[o,n]=t.split("=");e.searchParams.set(o,n)}),e.searchParams.forEach((t,o)=>{e.searchParams.set(o,t.split(";")[0])}),{checkin:async()=>{const t=e.searchParams.get("checkin");if(t&&Aa.tryFromDashYYYYMMDD(t))return t;const o=await this.getValueFromUtagData("date_in");if(o)return o;return await this.getEmbeddedValue(e,Ch[hh.getSection(e)]("checkin"))||Aa.unsafe_fromDate(La(new Date,1)).toDashYYYYMMDD()},checkout:async()=>{const t=e.searchParams.get("checkout");if(t&&Aa.tryFromDashYYYYMMDD(t))return t;const o=await this.getValueFromUtagData("date_out");if(o)return o;const n=await this.getEmbeddedValue(e,Ch[hh.getSection(e)]("checkout"));if(n)return n;return function(e,t){if(!e||!t)return null;const o=Aa.tryFromDashYYYYMMDD(e);if(!o)return null;const n=parseInt(t,10);if(Number.isNaN(n)||n<0)return null;const a=La(o.unsafe_toDate(),n);return Aa.fromDate(a)?.toDashYYYYMMDD()??null}(e.searchParams.get("checkin"),e.searchParams.get("interval"))||Aa.unsafe_fromDate(La(new Date,2)).toDashYYYYMMDD()},adults:async()=>{const t=e.searchParams.get("req_adults")||e.searchParams.get("group_adults");if(t)return t;return await this.getValueFromUtagData("adults")||"2"},children:async()=>{const t=e.searchParams.get("req_children")||e.searchParams.get("group_children");if(t)return t;return await this.getValueFromUtagData("children")||"0"},currency:async()=>{try{const e=await lo(Bo,e=>!e,4)(['[data-testid="header-currency-picker-trigger"]']),t=Oo(e,"textContent")?.replace(/\n/gm,"");if(t===zh)return null;if(!t)throw new Error("Could not scrape platform currency in Booking");return t}catch(e){return console.error("Error getting platform currency from Booking URL or page",e),null}}}}async getListingQueryParamMap(e,t){return{...await this.getPlatformQueryParamMap(t),currency:async()=>{try{if("DETAIL"===hh.getSection(t)){const e=await this.getCurrencyFromUtagData();if(e)return e}else if("CHECKOUT"===hh.getSection(t)){const e=await this.getCheckoutPriceElement();if(e){const t=await this.getCheckoutCurrency(e);if(t)return t}}const o=await this.getPrice(e),n=o?.currency??null;if(!n)throw new Error(`Could not scrape listing ${e} currency in Booking`);return n}catch(e){return console.error("Error getting listing currency from Booking URL or page",e),null}}}}static getSection(e){const t=e.href;return Dr.test(t)?"LIST":Ir.test(t)?"DETAIL":Nr.test(t)?"CHECKOUT":Tr.test(t)?"CONFIRMATION":"UNKNOWN"}async getEmbeddedInfoJson(e){if(null!==this.embeddedInfoCache)return this.embeddedInfoCache;const t=jh[hh.getSection(e)];if(!t)return null;const o=await Fo([t]);return this.embeddedInfoCache=o,this.embeddedInfoCache}async getEmbeddedValue(e,t){const o=await this.getEmbeddedInfoJson(e);if(!o)return null;const n=t(o);return"string"!=typeof n?null:n}async getShouldClearOffers(e,t){return super.getShouldClearOffers(e,t,{compareHash:!0})}}const fh="\n.offers-container {\n margin-top: 20px;\n}\n",gh="\n.offers-container {\n margin-top: 10px;\n}\n",bh=["#top-book"],yh="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",kh=[".ph-footer"],vh="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",wh=[".bui-group.bui-button-group.bui-group--vertical-align-middle.bui-group--inline.bui-group--align-end"],xh="\n.offers-container {\n min-width: 15em;\n}\n\n.offers-item, .skeleton-button {\n padding: 12px 15px;\n}\n",jh={LIST:'script[data-capla-namespace*="b-search-web-searchresults"][data-capla-store-data="apollo"]',DETAIL:'script[data-capla-namespace*="b-property-web-property"][data-capla-store-data="apollo"]',CHECKOUT:'script[data-capla-namespace*="b-checkout-bp-accommodation"][data-capla-store-data="apollo"]',CONFIRMATION:'script[data-capla-namespace*="b-post-booking-web"][data-capla-store-data="apollo"]',UNKNOWN:null},_h=()=>()=>null,Ch={LIST:function(e){return t=>{if(!t.ROOT_QUERY)return null;const o=qt(t.ROOT_QUERY);if(!o||!o.searchQueries)return null;const n=qt(o.searchQueries);if(!n)return null;const a=Ft(n,/^search\(.*\)$/);if(!a)return null;const r=qt(a);if(!r||!r.searchMeta)return null;const i=qt(r.searchMeta);if(!i||!i.dates)return null;const s=qt(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},DETAIL:function(e){return t=>{if(!t.ROOT_QUERY)return null;const o=qt(t.ROOT_QUERY);if(!o)return null;const n=Ft(o,/^hotelPageByPageName\(.*\)$/);if(!n)return null;const a=qt(n);if(!a||!a.propertyFullExtended)return null;const r=qt(a.propertyFullExtended);if(!r||!r.searchBoxPrefillData)return null;const i=qt(r.searchBoxPrefillData);if(!i||!i.dates)return null;const s=qt(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},CHECKOUT:_h,CONFIRMATION:_h,UNKNOWN:_h},zh="€$£",Sh=function(e,t,o,n){var a=-1,r=null==e?0:e.length;for(n&&r&&(o=e[++a]);++a<r;)o=t(o,e[a],a,e);return o},Eh=function(e,t,o,n,a){return a(e,function(e,a,r){o=n?(n=!1,e):t(o,e,a,r)}),o},Oh=function(e,t){return e>t},Ah=function(e,t){return e&&e.length?function(e,t,o){for(var n=-1,a=e.length;++n<a;){var r=e[n],i=t(r);if(null!=i&&(void 0===s?i==i&&!mo(i):o(i,s)))var s=i,c=r}return c}(e,Bs(t),Oh):void 0};class Lh extends Ad{constructor(e,t="VRBO",o="Vrbo"){super(e,t,o)}shouldActivate(e){return/vrbo\.com/i.test(e)}getListingsInPage(){const e=function(e,t,o){var n=oe(e)?Sh:Eh,a=arguments.length<3;return n(e,Bs(t),o,a,Io)}(Uo(Dh),(e,t)=>{const o=t.getAttribute("href");if(!o)return console.error("No href found for link",t),e;const n=this.getIdFromUrl(o);return n?(e.push(n),e):(console.error("No sourceId found for href",o),e)},[]);return this.filterNewListingsInPage(e)}findListingElement(e){const t=Uo(Dh);if(!t||0===t.length)return null;for(const o of t){const t=o.getAttribute("href");if(t)try{if(new URL(t,window.location.origin).pathname.includes(e))return o}catch(o){console.error("Invalid URL found for link",e,t,o)}else console.error("No href found for link",e,o)}return console.error("Listing URL not found in any link",e,t),null}async renderAlternativeCTAInList(e,t){const o=t.parentElement;if(!o)return;const n=await this.insertSecondaryCTA(e,['[data-test-id="price-summary"]'],"SECONDARY_CTA_IN_LIST_ITEM",`${e.source_id}-list`,o);if(!n)return;n.$container.style.marginTop="12px";const a=await lo(()=>Bo([".popover__content"],n.$reactRoot))();a&&(a.style.left="39px");const r=await lo(()=>Bo([".popover"],n.$reactRoot))();r&&(r.style.zIndex="300")}markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const o=this.findListingElement(e);if(o&&o.parentElement){if(this.shouldRenderLabel(t)){const t=this.getLabelPlacement(o),n=this.renderLabel(e,t);this.setRenderedLabel(e,n),this.appendLabel(e,o,n.$container)}this.renderAlternativeCTAInList(t,o)}}async insertSecondaryCTAInDetailView(e){const t=await this.insertSecondaryCTA(e,['[data-stid="property-offers"]'],"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;t.$container.style.padding="10px 0px";const o=await lo(()=>Bo([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();o&&(o.style.borderRadius="30px")}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}debouncedInsertOffersComponentInCheckoutView=Vd(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async insertOffersComponentInCheckoutViewToDebounce(e){const t=await this.insertSecondaryCTA(e,['[data-at-id="contact-continue-button-standard"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(t){t.$container.parentElement?.parentElement&&(t.$container.parentElement.parentElement.style.display="flex",t.$container.parentElement.parentElement.appendChild(t.$container)),t.$container.style.marginLeft="10px";const e=await lo(()=>Bo([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();e&&(e.style.borderRadius="99px",e.style.padding="18px 28px",e.style.gap="16px",e.style.fontSize="16px")}await this.insertSecondaryCTA(e,[".price-details"],"SECONDARY_CTA_IN_CHECKOUT_SUMMARY")}appendLabel(e,t,o){const n=Bo(["figure",".LazyLoad"],t.parentElement);if(n){const e=bs(1,5);try{switch(e){case 1:n.append(o);break;case 2:n.children[0].append(o);break;case 3:n.children[0].children[0].append(o);break;case 4:n.children[0].children[0].children[0].append(o);break;case 5:n.children[0].children[0].children[1].append(o)}}catch(e){n.append(o)}}setTimeout(()=>{const n=this.findListingElement(e);n&&(n===t||this.appendLabel(e,n,o))},2e3)}getLabelPlacement(e){const{bottom:t,left:o}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Bo(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${o}px`,zIndex:"300"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Vd(e,2e3,{leading:!0}));const t=await lo(Bo,e=>!e)([".HitCollection",'[data-stid="property-listing-results"]']);new MutationObserver(e=>{for(const t of e)"childList"===t.type&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(t,{childList:!0,subtree:!0}),this.debouncedRenderMLs()}async getPriceObject(e,t){const o=wi(e),n=await this.buildListingQueryParam("currency",t);if(null===o||!n)return null;const a=await this.getListingLoS(t);return null===a?null:{priceString:e,currency:n,priceStringIsNightly:!1,nightlyPrice:o/a,totalPrice:o}}async getPriceString(e){const t=await lo(Uo,e=>!e||0===e.length,10)(['[data-test-id="price-summary-message-line"] *:not(del):not(.is-visually-hidden):not(:has(*))'],e);if(!t||0===t.length)return null;const o=[...t].map(e=>{const t=e.textContent;if(!t)return null;const o=wi(t);return null===o?null:{text:t,cents:o}}).filter(e=>null!==e),n=Ah(o,e=>e.cents);return n?.text||null}async findDetailPriceContainerElement(){return await lo(Bo,e=>!e,10)(['[data-stid="property-offer-price-summary"]'])}async getDetailPrice(){const e=await this.findDetailPriceContainerElement();if(!e)return null;const t=await this.getPriceString(e);if(!t)return null;const o=this.getItemId();return o?this.getPriceObject(t,o):null}async getPriceFromList(e){const t=this.findListingElement(e)?.parentElement;if(!t)return null;const o=await this.getPriceString(t);return o?this.getPriceObject(o,e):null}async getCheckoutPrice(e){const t=Bo([".price-details__price"]);if(!t)return null;const o=t.textContent||"",n=wi(o),a=o.replace(/[\d.,\s]/g,"").trim();if(!a)return null;const r=Li(a);if(null===n||!r)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:o,currency:r,priceStringIsNightly:!1,totalPrice:n,nightlyPrice:n/i}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getItemIdOnOTACheckout(){try{const{pathname:e}=new URL(window.location.href),t=/checkout\/\d{3}\.(\d+)\.\d+/i.exec(e);return t&&t.length>1?t[1]:null}catch(e){return console.error(e),null}}getListingNameFromList(e){const t=this.findListingElement(e.source_id);if(!t||!t.parentElement)return null;const o=Bo(["h3.uitk-heading"],t.parentElement),n=o?.textContent;return n||e.directo_url}getIdFromUrl(e){const t=/(\/[a-z-]*\/)?([a-z]*)?[0-9]+[a-z]*/.exec(e);if(t&&t[0])return t[0];const o=new URL(e).pathname.split("/");return o[o.length-1].replace(/[a-z]*/g,"")}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("startDate")||e.searchParams.get("chkin")||Da(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("endDate")||e.searchParams.get("chkout")||Da(new Date(Date.now()+16641e4)),children:()=>{const t=e.searchParams.get("childrenCount");return t||((o=e.searchParams.get("children")||this.getQueryParamFromApolloState("children")||"0")?o.split(",").filter(e=>"1_"===e.slice(0,2)).length.toString():null);var o},adults:()=>{const t=e.searchParams.get("adultsCount");return t||((e.searchParams.get("adults")||this.getQueryParamFromApolloState("adults")||"2").split(",")[0]||null)},currency:()=>{try{const t=e.searchParams.get("top_cur");if(t)return t;const o=this.getCurrencyFromApolloState()||this.getQueryParamFromApolloState("currency")||null;if(!o)throw new Error(`Could not scrape platform currency in VRBO (${this.platform}, ${this.base.name})`);return o}catch(e){return console.error("Error getting currency from VRBO URL or page",e),null}}}}static getSection(e){const t=e.href;return Mr.test(t)?"LIST":Rr.test(t)?"DETAIL":$r.test(t)?"CHECKOUT":"UNKNOWN"}cachedApolloState=null;getApolloState(){if(this.cachedApolloState)return this.cachedApolloState;const e=Uo(["script"]);if(!e)return null;const t=[...e].find(e=>Ph.test(e.textContent));if(!t)return null;const o=t.textContent.replace(Ph,"").replace(Ih,"");if(!o)return null;const n=Ht(o);return"string"!=typeof n?null:(this.cachedApolloState=Kt(n),this.cachedApolloState)}getApolloStateLocalePreferences(){const e=this.getApolloState();if(!e||!e.ROOT_QUERY)return null;const t=qt(e.ROOT_QUERY);if(!t)return null;const o=Ft(t,/^localePreferences\(.*\)$/);if(!o)return null;return qt(o)||null}getQueryParamFromApolloState(e){try{const t=this.getApolloStateLocalePreferences();if(!t||!t.queryParamsToSubmit||!Array.isArray(t.queryParamsToSubmit))return null;const o=t.queryParamsToSubmit.map(qt).filter(e=>void 0!==e&&"string"==typeof e.key&&"string"==typeof e.value).find(t=>t.key===e)?.value;return o??null}catch(t){return console.error(`Error getting query param ${e} from Apollo state`,t),null}}getCurrencyFromApolloState(){try{const e=this.getApolloStateLocalePreferences();if(!e||!e.trigger)return null;const t=qt(e.trigger);if(!t)return null;const o=t.text;return"string"!=typeof o?null:o}catch(e){return console.error("Error getting currency from Apollo state",e),null}}}const Ph=/^window\.__APOLLO_STATE__ = JSON.parse\(/,Ih=/\);$/,Dh=['[data-stid="open-product-information"]','[data-stid="open-hotel-information"]'];class Nh extends Lh{constructor(e){super(e,void 0,"Abritel")}shouldActivate(e){return/abritel\.fr/i.test(e)}getIdFromUrl(e){const t=/\/location-vacances\/([a-z]*[0-9]+[a-z]*)|$|\?/.exec(e),o=t?.[1];return o?function(e){return/p(\d+)$/.test(e)?e.replace(/^p/,"")+"a":/p(\d+)a$/.test(e)?e.replace(/^p/,"").replace(/a$/,"ha"):/p(\d+)vb$/.test(e)?e.replace(/^p/,"").replace("vb",""):e}(o):null}static getSection(e){const t=e.href;return Ur.test(t)?"LIST":Br.test(t)?"DETAIL":Vr.test(t)?"CHECKOUT":"UNKNOWN"}async getPlatformQueryParamMap(e){return{...await super.getPlatformQueryParamMap(e),currency:"EUR"}}}class Th extends Lh{constructor(e){super(e,"EXPEDIA","Expedia")}shouldActivate(e){return/expedia\.[a-z.]{2,7}/i.test(e)}getLabelPlacement(e){const{bottom:t,left:o}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Bo(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${o}px`,zIndex:"300"}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getHotelIdInDetail(){const{href:e}=window.location;return this.getIdFromUrl(e)||null}async getItemIdOnOTACheckout(){try{const e=Bo(['[data-stid="product-details-wrapper"] img']);return new URL(e?.getAttribute("src")||"").pathname.split("/").slice(-2)[0]||null}catch(e){return console.error(e),null}}getIdFromUrl(e){const t=/\/[\w-]*?\.h(\d*)\.[\w-]*\??/g.exec(e);return t?t[1]:""}async insertSecondaryCTAInDetailView(e){}async insertOffersComponentInCheckoutView(e){return this.debouncedInsertOffersComponentInCheckoutView(e)}async insertOffersComponentInCheckoutViewToDebounce(e){setTimeout(async()=>{try{const t=await this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta",selector:['[data-module="booking"] :has(> [data-testid="book-button"])'],componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:Bh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});if(!t)return;t.$container.style.display="inline-block"}catch(e){console.error("Error inserting offers component in Expedia checkout view",e)}},2e3)}debouncedInsertOffersComponentInCheckoutView=Vd(this.insertOffersComponentInCheckoutViewToDebounce,9e3,{leading:!0});async getCheckoutPrice(e){const t=Bo(['[data-stid="price-summary-card"] [style="text-align:right"] .uitk-type-500']);if(!t)return null;const o=t.textContent||"",n=wi(o),a=o.replace(/[\d.,\s]/g,"").trim();if(!a)return null;const r=Li(a);if(null===n||!r)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:o,currency:r,priceStringIsNightly:!1,totalPrice:n,nightlyPrice:n/i}}async findDetailPriceContainerElement(){return await lo(Bo,e=>!e,10)(['[data-stid="property-offer-1"]'])}async insertOffersComponentInDetail(e){const t=await lo(e=>{const t=Bo(e);return t?t.parentElement:null},e=>null===e,10)(['[data-stid="submit-hotel-reserve"]']);t&&await this.insertOffersComponent(e,{idSuffix:"list",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:$h,ctaPrefix:"OFFERS_IN_DETAIL"}})}static getSection(e){const t=e.href;return Fr.test(t)?"LIST":qr.test(t)?"DETAIL":Hr.test(t)?"CHECKOUT":"UNKNOWN"}async renderAlternativeCTAInList(e,t){}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const o=t.parentElement;o&&await this.insertOffersComponent(e,{idSuffix:"list",selector:['[data-test-id="price-summary"]'],container:o,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Mh,vertical:!1,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async getShouldClearOffers(e,t){e=e?new URL(e):null,t=new URL(t);for(const o of Rh)e?.searchParams.delete(o),t.searchParams.delete(o);return super.getShouldClearOffers(e,t)}}const Rh=["pwaDialog","comparePropertyIds"],Mh="\n.offers-container {\n margin-top: 0.5em;\n\n position: relative;\n z-index: 300;\n}\n",$h="\n.offers-container {\n margin: 1em 0;\n}\n\n.offers-container.offers-container-horizontal {\n flex-direction: row;\n}\n\n@media screen and (min-width: 992px) {\n .offers-container {\n margin: 1em 0 1em 0;\n }\n}\n",Bh="\n.offers-container {\n min-width: 15em;\n margin-left: 1em;\n}\n\n\n.skeleton-button {\n top: 0.5em;\n}\n";var Uh=1/0;const Vh=function(e){var t=function(e){return e?(e=$d(e))===Uh||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),o=t%1;return t==t?o?t-o:t:0};var qh=Math.max;const Fh=(Hh=function(e,t,o){var n=null==e?0:e.length;if(!n)return-1;var a=null==o?0:Vh(o);return a<0&&(a=qh(n+a,0)),function(e,t,o,n){for(var a=e.length,r=o+(n?1:-1);n?r--:++r<a;)if(t(e[r],r,e))return r;return-1}(e,Bs(t),a)},function(e,t,o){var n=Object(e);if(!ze(e)){var a=Bs(t);e=Se(e),t=function(e){return a(n[e],e,n)}}var r=Hh(e,t,o);return r>-1?n[a?e[r]:r]:void 0});var Hh;function Kh(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Gh extends Ad{constructor(e){super(e,"GOOGLE","Google")}shouldActivate(e){return null!==/google\.[a-z.]{2,7}\/search\?/i.exec(e)}getListingsInPage(){const e=Uo(['#search [jsname="UWckNb"]'])||[];return function(e){for(var t=-1,o=null==e?0:e.length,n=0,a=[];++t<o;){var r=e[t];r&&(a[n++]=r)}return a}(Array.from(e).map(e=>{const t=e.getAttribute("href"),o=Or(t);if(!o)return null;const n=function(e,t){switch(e){case"AIRBNB":return new Hd(t);case"BOOKING":return new hh(t);case"VRBO":return new Lh(t);case"EXPEDIA":return new Th(t);default:return null}}(o,this.rendererConfig);return n?`${o}::${n.getItemId(t)}`:null}))}findListingElement(e){const t=Uo(['#search [jsname="UWckNb"]']);return Fh(t,t=>{const o=t.getAttribute("href");return!!o&&function(e){const t=Or(e);return"GOOGLE"!==t&&null!==t}(o)&&o.includes(e)})??null}markListingAsMultilisting(e,t){if(this.cleanRenderedLabel(e),this.shouldRenderLabel(t)){const t=this.findListingElement(e);if(t){const o=this.getLabelPlacement(t),n=this.renderLabel(e,{...o,transform:"scaleY(-1)"},"transparent");this.setRenderedLabel(e,n),this.appendLabel(t,n.$container)}}}getLabelPlacement(e){return{position:"absolute",top:"0px",left:"-85px",zIndex:"127",borderTopLeftRadius:"25px"}}appendLabel(e,t){e.append(t)}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=Vd(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await lo(Bo,e=>!e)(["#search"]);new MutationObserver(e=>{for(const t of e)!Kh(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){return null}async getDetailPrice(){return null}getItemId(){return""}getListingNameFromList(e){const t=this.findListingElement(e.source_id),o=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return o||e.directo_url}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin"),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout"),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:()=>e.searchParams.has("display_currency")?e.searchParams.get("display_currency"):e.searchParams.has("currency")?e.searchParams.get("currency"):null}}static getSection(e){const t=e.href;return Kr.test(t)?"LIST":"UNKNOWN"}getItemIdOnOTACheckout(){throw new Error("Method not implemented.")}insertSecondaryCTAInDetailView(e){throw new Error("Method not implemented.")}insertOffersComponentInCheckoutView(e){throw new Error("Method not implemented.")}getCheckoutPrice(e){throw new Error("Method not implemented.")}}const Yh=new class{renderer=void 0;availableRenderers=[];initialize(e){if(void 0!==this.renderer)throw new Error("PlatformContentFactory already initialized");this.availableRenderers=[new Hd(e),new hh(e),new Lh(e),new Nh(e),new Th(e),new Gh(e)],this.renderer=this.getActivableRenderer(window.location.href)}get(){if(void 0===this.renderer)throw new Error("PlatformContentFactory not initialized");return this.renderer}getActivableRenderer(e){for(const t of this.availableRenderers)if(t.shouldActivate(e))return t;return null}};async function Qh(e){const t=Yh.get();return t?await t.getPrice(e):null}async function Wh(e){const t=Yh.get();return t?await t.getListingLoS(e):null}function Jh(){const e=Yh.get();return e?e.getListingsInPage():[]}function Zh(){const e=Yh.get();return e?e.getItemId():null}async function Xh(){const e=Yh.get();return e?await e.getItemIdOnOTACheckout():null}async function ef(){const e=Yh.get();return e?await e.getHotelIdInDetail():null}async function tf(){const e=Yh.get();return e?await e.getHotelIdInCheckout():null}const of=["checkin","checkout","currency","children","adults"];async function nf(e){const t=await Promise.all(of.map(async t=>{const o=await e(t);return[t,"checkin"===t||"checkout"===t?o?Ia(o):null:o]}));return Object.fromEntries(t)}async function af(e){return nf(t=>async function(e,t=window.location.href){const o=Yh.get();return o?await o.buildPlatformQueryParam(e,t):null}(t,e))}async function rf(e,t){return nf(o=>async function(e,t,o=window.location.href){const n=Yh.get();return n?await n.buildListingQueryParam(e,t,o):null}(o,e,t))}function sf(e){if(!(e.checkin&&e.checkout&&e.adults&&e.currency))return null;const t=parseInt(e.adults,10);if(!Number.isInteger(t))return null;const o=null!==e.children?parseInt(e.children,10):null;return null===o||Number.isInteger(o)?{checkin:e.checkin,checkout:e.checkout,adults:t,children:o??void 0,currency:e.currency}:null}const cf=["vidahotels.com","addresshotels.com"],lf=new class{config=null;constructor(){}initialize(e){if(this.config)throw new Error("FrontNavigationFactory is already initialized");this.config=e}async openOutclickTab(e,t,o,n){if(!this.config)throw new Error("FrontNavigationFactory is not initialized");this.config.onBeforeOpenOutclickTab?.({targetUrl:e,outclickExtraParams:o}),await Et.openOutclickTab({sourceUrl:window.location.href,targetUrl:e,cta:t,sourceId:o.sourceId,stayParams:o.stayParams,useRedirectEngine:n,redirectEngineParams:{coupon:o.coupon??null,discount:o.discount??null}}),this.config.onAfterOpenOutclickTab?.({targetUrl:e,outclickExtraParams:o})}async navigateToDirectLink(e,t,o,n=this.config?.useRedirectEngine??!0){await uf(e),await this.openOutclickTab(e,t,o,n)}async navigateToDestinationLink(e,t,o,n=this.config?.useRedirectEngine??!0){await uf(e);const a=await af(window.location.href);await this.openOutclickTab(e,t,{...o,sourceId:o.fakeSourceId,stayParams:a,backlink:null},n)}};async function uf(e){try{const t=new URL(e),o=Za(t);if(cf.includes(o)){const e=fs(t.hostname);await Et.maybeOpenTempTab({url:e})}}catch(e){console.error("Error opening new tab",e)}}async function mf(){const[e,t]=await Promise.all([wa(),Et.getSessionId()]);return{user_id:e,session_id:t}}function pf(e){return{ota_displayed_price:e?.displayedOtaPrice??null,ota_displayed_currency:e?.displayedCurrency??null,direct_displayed_price:e?.displayedDirectoPrice??null,direct_displayed_currency:e?.displayedCurrency??null,displayed_difference:e?.displayedPriceDifference??null}}function df(e){return{direct_currency:e?.currency??null,direct_pricing_period:null!==e?e.nightly?"NIGHTLY":"TOTAL":null,direct_gross_total_price:e?.price??null}}function hf(e){return{...(o=e.pricingParams,{checkin:o?.checkin?Aa.tryFromDashYYYYMMDD(o.checkin)?.toDashYYYYMMDD()??null:null,checkout:o?.checkout?Aa.tryFromDashYYYYMMDD(o.checkout)?.toDashYYYYMMDD()??null:null,adults:null!=o?.adults?Mt(o.adults):null,children:null!=o?.children?Mt(o.children):null}),direct_url:e.directUrl,...(t=e.otaPrice,{ota_currency:t.currency,ota_pricing_period:t.priceStringIsNightly?"NIGHTLY":"TOTAL",ota_gross_total_price:t.totalPrice}),...e.directoPrice.price?{...df(e.directoPrice),...pf(e.displayPrices)}:{...df(null),...pf(null)}};var t,o}async function ff(e){return{...await mf(),platform:e.platform,url_visited:e.sourceUrl,source_id:e.sourceId,...hf(e),popup_displayed:e.popupDisplayed,shop_endpoint_response_time_ms:e.shopEndpointResponseTimeMs}}async function gf(e){const t=Or(window.location.href);if(!t)return[];const o=sf(await rf(e.listingId,window.location.href));if(!o)return[];const{offers:n}=await Et.getAlternativeOffersByCompoundIds({id:[e],language:$o(),platform:t,...o});return n}async function bf(){const e=await kf();return null===e?[]:gf(e)}async function yf(){const[e,t]=await Promise.all([lo(ef,e=>null===e)(),lo(Zh,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}async function kf(){const[e,t]=await Promise.all([lo(tf,e=>null===e)(),lo(Xh,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}async function vf(e,t,o){if(!(await Sa().getFeature("backlink-ota-button")).on)return{};const{backlinks:n}=await Et.getBacklinksByHotelIds({id:e,language:$o(),platform:o,...t});return n}async function wf(e){const t=Or(window.location.href);if(!t)return{};const o=sf(await rf(e.listingId,window.location.href));return o?vf([e],o,t):{}}async function xf(){const e=await kf();return null===e?null:(await wf(e))[e.listingId]??null}const jf=function(e,t){var o=[];return Io(e,function(e,n,a){t(e,n,a)&&o.push(e)}),o},_f=function(e,t){return(oe(e)?Ne:jf)(e,Bs(t))},Cf=ed();async function zf(){const e=await Xh(),t=Or(window.location.href);return null!==e&&null!==t?await Et.getCachedDirectoInfo({source_id:e,platform:t}):null}async function Sf(e,t){const o=e.source_id,n=Yh.get();if(!n||!await async function(e){const t=Yh.get();return!!t&&t.canMakePricingRequest(e)}(o))return null;const a=await rf(o,window.location.href),r={url:e.directo_url,...a,isUrlParametrised:e.stay_parametrised??!1,..."BOOKING"===n.platform?{hotelId:await n.getHotelIdInDetail()}:{}},{value:i,elapsed:s}=e.pricing?{value:e.pricing,elapsed:0}:await async function(){const e=performance.now();return{value:await async function(e){return await io.get().get("/shop",{params:e,parser:new Qt})}(r),elapsed:performance.now()-e}}(),c=i&&null!==i.price&&null!==i.currency&&""!==i.currency?Hp({otaTotalPrice:t.totalPrice,otaCurrency:t.currency,directoPrice:i.price,directoIsNightly:i.nightly??!1,directoCurrency:i.currency,lengthOfStay:await Wh(o),displayCurrency:t.currency}):null,l=Or(window.location.href);if(!l)return c;c&&Et.storeCachedDisplayPrices({platform:l,source_id:e.source_id,...c});const u=await n.buildPricingMetadata();return async function(e){const t={...await ff(e),metadata:e.metadata};await async function(e){return await no.get().post("/v2/rate-from-ota-comparison",{body:Tt.B64JsonLegacy(e)})}(t)}({platform:l,sourceUrl:window.location.href,sourceId:e.source_id,pricingParams:r,directUrl:e.directo_url,otaPrice:t,directoPrice:i,displayPrices:c,shopEndpointResponseTimeMs:s,popupDisplayed:!!c&&qp(c),metadata:u}),c}async function Ef(){const e=await Xh(),t=Or(window.location.href);return null===e||null===t?null:await Et.getCachedDisplayPrices({source_id:e,platform:t})}async function Of(e){const t=await lo(Qh)(e);if(t)return t;const o=Or(window.location.href);return o?await Et.getCachedListingPrice({source_id:e,platform:o}):null}const Af=ed();class Lf extends us.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const Pf=new Lf;async function If(e,t,o){return e.then(e=>{const o=Tp(e);return t(o),o}).catch(e=>{console.error(`Error in ${o}:`,e),Af.exception({reason:e.toString()});const n={type:"error"};return t(n),n})}async function Df(e,t,o,n,a){return o.then(o=>{for(const a of e)n(a,Tp(o.get(a)??t));return Tp(o)}).catch(t=>{console.error(`Error in ${a}:`,t),Af.exception({reason:t.toString()});for(const t of e)n(t,Rp());return{type:"error"}})}const Nf=new class{oldUrlForListings=null;constructor(){am(this,{setPlatformRouteName:Au})}async setPlatformRouteName(e,t){const o=t.renderAlternativeOffers;if("DETAIL_VIEW"===e){const e=Zh();if(Pf.emit("platformRouteChanged",{name:"DETAIL_VIEW",sourceId:e}),!e)return;await this.handleDetailViewChange(e,o)}else if("LIST_VIEW"===e)Pf.emit("platformRouteChanged",{name:"LIST_VIEW"}),async function(e){try{const t=Yh.get();if(!t)return;t.setMLRenderer(e)}catch(e){console.error(e)}}(this.handleListViewChange.bind(this,o)),await this.handleListViewChange(o);else if("CHECKOUT_VIEW"===e){const e=await Xh();if(Pf.emit("platformRouteChanged",{name:"CHECKOUT_VIEW",sourceId:e}),!e)return;await this.handleCheckoutViewChange(e)}else Pf.emit("platformRouteChanged",{name:e})}async handleDetailViewChange(e,t){Ip.initializeOfferById(e),function(e){const t=Yh.get();t&&t.insertOffersComponentInDetail(e)}(e),If(t?async function(){const e=await yf();return null===e?[]:gf(e)}():Promise.resolve([]),t=>Ip.updateOfferAlternativeOffers(e,t),"fetching alternative offers for detail view"),If(async function(){const e=await yf();return null===e?null:(await wf(e))[e.listingId]??null}(),t=>Ip.updateBacklink(e,t),"fetching backlink for detail view");const o=await If(async function(e){const t=Or(window.location.href);if(!t)return null;const o=await rf(e,window.location.href),n=(await Et.fetchDirectoInfo({ids:[e],platform:t,...o}))[0]??null,a=n?.directo_url;return a&&n&&Et.storeCachedDirectoInfo({platform:t,...n}),Cf.event("view_product",{directo:!!a}),n}(e),t=>Ip.updateOfferDirectoInfo(e,t),"fetching directo info for detail view"),n=Np(o,null);Pf.emit("detailViewDirectoInfoLoaded",n),n?.directo_url&&function(e){const t=Yh.get();t&&t.insertSecondaryCTAInDetailView(e)}(n);const a=Np(await If(async function(e){const t=Or(window.location.href);if(!t)return null;const o=await lo(Qh)(e);return o?(Et.storeCachedListingPrice({source_id:e,platform:t,...o}),o):null}(e),t=>Ip.updateOfferListingPrice(e,t),"fetching scraped listing price for detail view"),null),r=Np(await If(n&&a?Sf(n,a):Promise.resolve(null),t=>Ip.updateOfferDisplayPrices(e,t),"fetching directo price for detail view"),null);Pf.emit("detailViewDisplayPricesLoaded",r)}async handleListViewChange(e){const t=Or(window.location.href);if(!t)return;const o=new URL(window.location.href);await async function(e,t){const o=Yh.get();return!o||o.getShouldClearOffers(e,t)}(this.oldUrlForListings,o)&&(function(){const e=Yh.get();e&&e.cleanAllListingsAndElements()}(),Ip.clear()),this.oldUrlForListings=o;const n=await lo(Jh)();for(const e of n)Ip.initializeOfferById(e);!function(e){const t=Yh.get();if(t)for(const o of e)t.insertOffersComponentInList(o)}(n),Df(n,[],e?async function(e){if(!e||0===e.length)return new Map;const t=Or(window.location.href);if(!t)return new Map;const o=sf(await rf(e[0],window.location.href));if(!o)return new Map;const{offers:n}=await Et.getAlternativeOffersByCompoundIds({id:e.map(e=>({listingId:e})),platform:t,language:$o(),...o}),a=new Map;for(const e of n)a.has(e.source_id)||a.set(e.source_id,[]),a.get(e.source_id).push(e);return a}(n):Promise.resolve(new Map),Ip.updateOfferAlternativeOffers,"fetching alternative offers for list view"),Df(n,null,async function(e){if(!e||0===e.length)return new Map;const t=Or(window.location.href);if(!t)return new Map;const o=sf(await rf(e[0],window.location.href));if(!o)return new Map;const n=await vf(e.map(e=>({listingId:e})),o,t);return new Map(Object.entries(n).map(([e,t])=>[e,t]))}(n),Ip.updateBacklink,"fetching backlinks for list view");const a=Df(n,null,async function(e){const t=window.location.href,o=Or(t);if(0===e.length||!o)return new Map;const n=await rf(e[0],t),a=await Et.fetchDirectoInfo({ids:e,platform:o,...n});var r;r=a.sort((e,t)=>(e.ranking||0)-(t.ranking||0)),No(r,e=>function(e){const t=Yh.get();t&&e.directo_url&&t.markListingAsMultilisting(e.source_id,e)}(e));const i=new Map,s=_f(a,"directo_url");for(const e of s)i.set(e.source_id,e);return i}(n),Ip.updateOfferDirectoInfo,"fetching directo infos for list view");a.then(e=>{const t=Array.from(Ip.offersById.values()).map(e=>Dp(e.directoInfo,null)).filter(e=>null!==e);Pf.emit("listingDirectoInfosInListLoaded",t)});const r=Df(n,null,async function(e){const t=e.map(async e=>[e,await Qh(e)]),o=await Promise.all(t);return new Map(o)}(n),Ip.updateOfferListingPrice,"fetching scraped listing prices for list view"),i=Promise.all([r.then(e=>Np(e,new Map)),a.then(e=>Np(e,new Map))]).then(([e,t])=>async function(e,t,o){return new Map(await Promise.all(e.map(async e=>{const n=t.get(e),a=o.get(e);if(!n||!a||!a.pricing)return[e,null];const r=Hp({otaTotalPrice:n.totalPrice,otaCurrency:n.currency,directoPrice:a.pricing.price,directoCurrency:a.pricing.currency,lengthOfStay:await Wh(e),directoIsNightly:a.pricing.nightly,displayCurrency:n.currency});return[e,{otaPrice:n,directoInfo:{...a,pricing:a.pricing},displayPrices:r}]})))}(n,e,t));if(Df(n,null,i,(e,t)=>{const o=function(e){switch(e.type){case"error":return e;case"loaded":return Tp((t=e.data,t?.displayPrices??null));default:Ot(e)}var t}(t);Ip.updateOfferDisplayPrices(e,o)},"calculating prices for list view"),n.length>0){const e=function(){const e=Yh.get();return e?e.buildPricingMetadata():Promise.resolve(null)}();Promise.all([i,e]).then(([e,o])=>async function(e,t,o,n){const a=window.location.href,r=await rf(e,a),i=function*(e,t){let o=0;for(const n of e)t(n)&&(yield n),o+=1}(o.entries(),e=>null!==e[1]),s=function(e){const t={};for(const[o,n]of e)t[o]=n;return t}(function*(e,t){let o=0;for(const n of e)yield t(n),o+=1}(i,([e,{otaPrice:t,directoInfo:o,displayPrices:n}])=>[e,{directUrl:o.directo_url,otaPrice:t,directoPrice:o.pricing,pricingParams:r,displayPrices:n}]));0!==Object.keys(s).length&&async function(e){const t=await async function(e){return{...await mf(),platform:e.platform,url_visited:e.sourceUrl,items:Jd(e.items,hf),metadata:e.metadata}}(e);await async function(e){return await no.get().post("/v2/batch-rates-from-ota-comparison",{body:Tt.B64Json(e)})}(t)}({platform:t,sourceUrl:a,items:s,metadata:n})}(n[0],t,e,o)).catch(e=>{console.error("Error building and posting batch rates for list view:",e)})}}async handleCheckoutViewChange(e){Ip.initializeOfferById(e);const t=Promise.all([If(Ef(),t=>Ip.updateOfferDisplayPrices(e,t),"fetching directo price for checkout view"),If(zf(),t=>Ip.updateOfferDirectoInfo(e,t),"fetching directo info for checkout view")]).then(([e,t])=>{const o=Np(e,null),n=Np(t,null);null!==n&&function(e){const t=Yh.get();t&&t.insertOffersComponentInCheckoutView(e)}(n),Pf.emit("checkoutViewDataLoaded",{pricing:o,directoInfo:n})});await Promise.all([t,If(Of(e),t=>Ip.updateOfferListingPrice(e,t),"fetching listing OTA price for checkout view"),If(bf(),t=>Ip.updateOfferAlternativeOffers(e,t),"fetching alternative offers for checkout view"),If(xf(),t=>Ip.updateBacklink(e,t),"fetching backlink for checkout view")])}},Tf={LIST:"LIST_VIEW",DETAIL:"DETAIL_VIEW",CHECKOUT:"CHECKOUT_VIEW",CONFIRMATION:"GENERAL_VIEW",UNKNOWN:"GENERAL_VIEW"};const Rf={renderLabels:!0,hideOwnOtaLabels:!1,renderSecondaryCTAs:!0,renderAlternativeOffers:!0,trackVisits:!1,customization:{labelSVG:(0,rr.jsx)(({width:e="29",height:t="31",viewBox:o="0 0 29 31",fill:n="none",style:a={}})=>(0,rr.jsxs)("svg",{width:e,height:t,viewBox:o,style:a,fill:n,xmlns:"http://www.w3.org/2000/svg",children:[(0,rr.jsx)("path",{d:"M23.0716 26.6715C21.7556 25.5134 20.4569 24.3399 19.1234 23.1974C18.8924 22.9998 18.7424 23.0044 18.5196 23.163C17.9021 23.6022 17.2174 23.9458 16.5035 24.2399C15.0518 24.8382 13.516 25.0848 11.9241 25.084C11.2304 25.084 10.5366 25.0821 9.84291 25.0817C9.69079 25.0817 9.56738 25.192 9.56738 25.328V30.3459C9.56738 30.4815 9.69036 30.5914 9.84205 30.5918C10.6313 30.5934 11.4206 30.596 12.2104 30.5995C13.0472 30.6033 13.8862 30.5658 14.6991 30.4478C16.1646 30.2353 17.5992 29.8856 18.9631 29.328C20.4393 28.7244 21.8079 27.9768 23.0596 27.0526C23.2588 26.9055 23.2511 26.8293 23.0716 26.6715Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M11.9914 6.24371C13.0108 6.25367 14.0341 6.32835 15.0046 6.6133C16.1354 6.94497 17.2632 7.30574 18.2239 7.97061C18.3289 8.043 18.4395 8.11155 18.532 8.19505C18.7 8.34633 18.832 8.32756 18.9845 8.18432C19.1632 8.01619 19.341 7.84729 19.5279 7.68605C20.7084 6.66883 21.8898 5.65237 23.0754 4.63975C23.2177 4.51834 23.2687 4.44902 23.0758 4.30769C22.4382 3.84045 21.7818 3.39924 21.082 3.00821C18.502 1.56625 15.6816 0.791076 12.6509 0.747798C11.7155 0.734394 10.7796 0.726734 9.84419 0.722904C9.69165 0.722138 9.56738 0.832822 9.56738 0.969167V5.9917C9.56738 6.12766 9.69079 6.23797 9.84291 6.23758C10.5589 6.23682 11.275 6.23682 11.991 6.24371H11.9914Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M6.70176 0.717285H1.12783C0.951519 0.717285 0.808594 0.845031 0.808594 1.00261V30.3052C0.808594 30.4628 0.951519 30.5905 1.12783 30.5905H6.70176C6.87806 30.5905 7.02099 30.4628 7.02099 30.3052V1.00261C7.02099 0.845031 6.87806 0.717285 6.70176 0.717285Z",fill:"#000141"}),(0,rr.jsx)("path",{d:"M25.0106 6.09228C25.5783 6.67174 26.0904 7.28721 26.5364 7.94748C27.1895 8.91453 27.678 9.94209 28.0923 11.0091C28.4973 12.0528 28.6978 13.1205 28.8306 14.2109C28.9073 14.8421 28.9819 15.4713 28.9459 16.1044C28.8345 18.0542 28.3944 19.9351 27.5023 21.7302C27.1826 22.3736 26.8205 23.0032 26.41 23.5892C26.0004 24.174 25.5629 24.7711 24.9428 25.2862C24.6219 24.9867 24.3048 24.6811 23.9766 24.3854C22.8946 23.4103 21.8114 22.4364 20.7213 21.4682C20.5854 21.3475 20.5709 21.289 20.7011 21.1423C21.4459 20.3012 21.9421 19.3384 22.3024 18.3242C22.6928 17.2262 22.8625 16.0849 22.7104 14.9455C22.6101 14.1925 22.4948 13.4288 22.1996 12.6969C21.9001 11.9555 21.514 11.2603 21.0474 10.5962C20.9295 10.4285 20.8267 10.2473 20.6788 10.1033C20.531 9.95971 20.5404 9.87775 20.6943 9.74562C21.7762 8.81534 22.8676 7.89425 23.9252 6.94098C24.2504 6.64799 24.5902 6.3596 24.9424 6.08691C24.9651 6.08845 24.9883 6.08998 25.011 6.09113L25.0106 6.09228Z",fill:"#000141"})]}),{}),getSecondaryCtaSvg:e=>e?(0,rr.jsx)(Fs,{}):(0,rr.jsx)(qs,{}),mainColorHex:"#000141",labelCSSDefinition:'\n .dr-floating-directo:before {\n content: "";\n position: absolute;\n width: 29px;\n height: 31px;\n background-color: #FDC307;\n left: 0;\n top: 0;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n }\n .dr-floating-directo:after {\n content: "";\n position: absolute;\n width: 39px;\n height: 41px;\n background-color: #FDC307;\n left: -5px;\n top: -5px;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n }\n .dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n '}};async function Mf(e){return Et.getTruesignToken(e)}const $f="directoAllowedHostnames";function Bf(e){return function(e,t,o={}){return new Promise(n=>{const{dropIfPresent:a=!1,area:r="local"}=o,i=function(e){switch(e){case"local":return chrome.storage.local;case"session":return chrome.storage.session;default:Ot(e)}}(r);i.get(e,o=>{const r=o[e]||[],s=new Set(r),c=s.has(t);c&&a&&(s.delete(t),i.set({[e]:Array.from(s.values())})),n(c)})})}($f,Ja(e))}const Uf=ed(),Vf=new Set(["rk.com","pornhub.com","sa.com","realsrv.com","xvideos-cdn.com","live.tv","cam.com","lace.com","inite.com","chat.fr","xvideos.com","tease.com","xnxx-cdn.com","aavideo.com","avideo.com","chaturbate.com","person.com","aom.com","xnxx.com","hservice.com","erox.com","highwebmedia.com","man.com","launch.com","laid.com","na.org","nonical.com","18.com","stripchat.com","tun.pl","bine.com","consent.com","elate.net","xhamster.com","smonkey.com","fun.com","bing.net","placeholder.com","exosrv.com","onlyfans.com","hones.net","login.fr","listing.com","fycs.com","match.com","eros.com","jasmin.com","livejasmin.com","protect.com","juicyads.com","faphouse.com","br.org","cougar.com","inga.com","hic.com","amour.com","dr.to","fpbns.net","tes.org","gallery.com","51.la","tart.com","bang.com","spankbang.com","xplay.co","bimbolive.com","rn.de","ce.to","rktv.com","hun.com","camscanner.com","xhamsterlive.com","cosmopolitan.com","certifier.com","appi.com","nine.com","etonline.com","eis.de","aby.com","ema.org","gifs.com","redgifs.com","rtalabel.org","xcam.com","bongacams.com","cams.com","vador.com","guys.com","licks.com","ricks.com","smother.com","gbucks.com","javhd.com","atext.com","private.com","lanes.com","cash.com","xchat.com","mtree.com","qlogo.cn","torrid.com","ons.se","box.de","adultfriendfinder.com","friendfinder.com","scompany.de","revopush.com","87.com","kontakt-vermittler.de","net-ad.net","porn.xxx","porn.com","uporn.com","youporn.com","doublepimp.com","pimp.com","deonline.com","flirt4free.com","view.net","bangbros.com","wpu.sh","xparty.com","eporner.com","89.com","ures.com","xxx-tracker.com","ssearch.org","intouchweekly.com","dmm.co.jp","friends.com","men.com","ymac.com","rar.com","sex.com","xmatch.com","dude.com","xbiz.com","sexad.net","tvx.com","hentai.net","nhentai.net","myfreecams.com","camz.com","cupid.com","wpush.org","yourtango.com","brazzersnetwork.com","camsoda.com","avn.com","boys.com","txxx.com","xxx.com","lifeandstylemag.com","ok.co.uk","101domain.com","redtube.com","chunt.com","4fuck.com","fuck.com","abi.pl","xlist.com","tnaflix.com","theporndude.com","cock.com","porndoe.com","dicks.com","wlsp.com","ditto.com","cam4.com","wet.com","redwap.me","rule34.xxx","sght.com","youjizz.com","fark.com","gservice.com","sss.com","vice.ws","sdc.com","dmm.com","skin.com","lace.net","neta.com","icos.com","6.tv","interia.pl","cc0.com","bangbrosonline.com","hclips.com","adult.com","communities.com","porntop.com","tist.com","trac.pro","as.org","camlive.co","camlive.com","ranks.com","el.nl","tit.nu","bear.net","adultwork.com","asshut.com","4live.com","xlove.com","fever.com","hard.com","xrs.com","hdzog.com","vxxx.com","freaks.com","erotica.com","literotica.com","hoes.com","shoes.com.br","ezones.com","sa.org","jerkmate.com","nutaku.net","xvideo.com","upornia.com","pornhubpremium.com","tubecup.org","qguys.com","glamourmagazine.co.uk","pornpics.com","moviesboys.com","tube.nl","covergirl.com","sex-is-here.com","sexall.net","lib.es","letsdoeit.com","vd.com","und.net","rkpro.net","elpub.com","18.to","ardart.com","asstraffic.com","passtraffic.com","actiondesk.com","porn.tv","pride.com","dditscdn.com","ero-advertising.com","new-twinks.com","twinks.com","cams7.com","boobs.com","wantboobs.com","hardporn.tube","python.com","hentaiheroes.com","sexgame.com","alt.com","hearstmags.com","sex-vip.com","new-young-boys.com","owow.com","abum.com","xxlmag.com","boyfriendtv.com","queerty.com","ipod.com","wonderwall.com","xpix.net","vis.de","hostave3.net","k18.co","wikifeet.com","video.nl","links.net","sexcash.com","ashleymadison.com","ixxx.com","e-hentai.org","hentai.org","f95zone.to","n19.net","noodlemagazine.com","analplus.com","018.us","sss.xxx","372.us","xvirtual.com","mad.com","videosz.com","perfectgirls.net","perezhilton.com","sluts.xyz","max.de","animegames.com","hor.com","gotporn.com","cam-content.com","esmale.com","male.com","moviesmale.com","swing.com","exhentai.org","girls.xyz","anyvids.com","manyvids.com","pron.co","pron.com","pornkai.com","f1.fr","hotmovs.com","girls.com","fu.net","83.com","pornzog.com","pornvideo.tv","passion.com","voyeurhit.com","voyeur-house.tv","anybunny.tv","recon.com","atic.info","dlsite.com","cda.pl","heavy-r.com","thisvid.com","ateen.net","teen.net","harem.com","datezone.com","reallifecam.com","sext.com","wellhello.com","ftv.com","shows.it","super.cz","onthisday.com","pornclassic.co","tubepornclassic.com","mxxx.com","iporntv.net","porntv.net","motherless.com","gelbooru.com","enjoy.com","455.us","erome.com","luscious.net","bporn.com","zbporn.com","tsstream.com","aznude.com","nude.com","znude.com","ecum.com","gero.com","rame.net","jav.com","vjav.com","xvideos.red","beeg.com","iwantu.com","bittorrent.am","pic.at","clips4sale.com","analdin.com","sexta.com","xxgasm.com","hanime.tv","daftsex.com","adam4adam.com","sexplorer.com","nantv.com","anal.com","fashionista.com","pornhub.org","thefappeningblog.com","smutty.com","x1x.com","blacked.com","pornone.com","videa.hu","benaughty.com","naughty.com","camwhores.tv","fuq.com","nudevista.com","homemadevids.net","vids.net","spencersonline.com","endirect.com","venus.at","adameve.com","293.us","playboy.com","sado.com","efukt.com","bakecaincontrii.com","erotek.com","xvideos.es","aukro.cz","xhamster.desi","xaction.com","bitchy.com","celebitchy.com","nude-pics.org","r18.com","xozilla.com","tubesafari.com","4less.com","888casino.com","casino.com","k003.com","see.xxx","hdsex18.com","hitomi.la","hqporner.com","daters.com","suggest.com","927.us","sinns.com","abody.com","liebelib.net","chicas.com","4fun.com","shots.com","tube8.com","sxyprn.com","tas.me","kink.com","paheal.net","redwap2.com","1porn.com","91porn.com","lablue.de","chat.be","gamesrevenue.com","4club.com","webcams.com","biguz.net","095.us","adultsearch.com","luv.com","dlisted.com","sexstories.com","xstories.com","k005.com","latinas.com","domi.com","fling.com","drtuber.com","lez.com","awempire.com","ilm.nl","mediatakeout.com","fapster.xxx","e621.net","alfemminile.com","porn7.net","hotline.com","xagent.com","tubesex.com","blackpeoplemeet.com","l1.pl","celebrities.net","pussy.xyz","poimg.com","sexvid.xxx","thatpervert.com","sreviews.com","girls4u.com","adcell.de","alloy.com","p0.nl","xinteractive.com","anybunny.com","fabswingers.com","swingers.com","rosszlanyok.hu","vs3.com","gals.com","tubemov.com","hq3x.com","adultempire.com","videosection.com","porntrex.com","ageproof.com","playvids.com","hot.fr","18exgfs.com","cams.org","dayz.com","affections.com","b-cdn.net","thumbzilla.com","pute.com","siteencore.com","teencore.com","2com.com","amor.com","8tube.com","anysex.com","teenee.com","date.nl","pornhat.com","69.fr","porn300.com","porno.com","sunporno.com","281.ca","38.fr","virtuagirlhd.com","weareher.com","letmejerk.com","fitforfun.de","xxxpicz.com","accesspass.com","pornogids.net","ashemaletube.com","maletube.com","shemaletube.com","chicagoreader.com","npix.com","camfrog.com","elp.hu","femmes.com","bdsmlr.com","celebjihad.com","knuddels.de","crush.com","ecrush.com","screw.com","owned.com","asiandating.com","orion.de","xnetwork.net","heelsforless.com","imagefap.com","iporno.com","serviporno.com","27.fr","2fuck.com","streamray.com","avgirl.com","vod.pl","x17online.com","luxuretv.com","520.jp","xnxx.net","americangirl.com","cangirl.com","sexxxhd.com","dlsite.jp","cams.si","cammodels.com","models.com","jav.guru","romeo.com","naked.com","megapornpics.com","1juegos.com","pornhd.co","pornhd.com","videos.net","hdsex.org","pictoa.com","thaiware.com","hdporn.net","fantasy.com","ok.xxx","titsx.com","bobsvagene.club","allguys.com","flirt.com","furnituretoday.com","bolero.com","inc.co.uk","avgle.com","mylust.com","sexcamchats.com","search.nl","sankakucomplex.com","evod.com","thefappening.pro","clubonline.com","3movs.com","nice123.com","femefun.com","xpression.com","afrointroductions.com","tits.com","shopjustice.com","33b.net","tek.com.au","donmai.us","smn.org","stylebistro.com","ilynx.com","chat.cc","butt.com","alyze.com","sexymatches.com","palace.com","shoepalace.com","thegay.com","taira.com","latinamericancupid.com","laonline.com","bouxavenue.com","fpcpopunder.com","shower.com","onsizzle.com","bigdick.com","dick.com","inkedmag.com","iwantclips.com","juicygif.com","erogame.com","nuvid.com","videosecrets.com","bzone.com","brazzers.com","cameraprive.com","ladies.com","squirt.org","multporn.net","javmost.com","annsummers.com","xshare.com","ero.today","pornid.xxx","391.us","x-video.net","javbus.com","pornoreino.com","sexcel.com","orny.com","freelatinaporn.com","inaporn.com","onlyfreelatinaporn.com","vkmag.com","xrass.com","hgame.net","nubiles-porn.com","sexdesant.com","aebn.net","hentaihaven.xxx","scrolller.com","erogames.com","snapshots.com","hooligapps.com","blush.no","gaymaletube.com","hot.ee","anime.net","ero.be","ontap.com","unter.nl","nesaporn.com","coedcherry.com","dlist.com","lte.net","xvideos.best","iporn.com","kiporn.com","joyclub.de","xcafe.com","fishki.net","porno.xyz","empr.com","469.com","69.com","xxxbule.com","porntube.com","amspot.com","rafik.com","poringa.net","anni.com","sexvideo.com","hdtube.porn","hentai-foundry.com","e-comunicacion.com","bound.org","ecreator.org","adult.ru","domaciseks.com","seks.com","hdporncomics.com","porncomics.com","recipegirl.com","theblock.com","lpsg.com","boys.de","livesex.com","gay0day.com","eroticreview.com","theeroticreview.com","xpays.com","ladies.de","xlovecam.com","adultepic.com","freeones.com","sexhd.pics","pornmd.com","women.com","lovepanky.com","camster.com","ashleyrnadison.com","breakingnews.ie","skincity.com","swinglifestyle.com","porn.to","zapya.com","analvids.com","porngif.cc","incestos.net","bingoporno.com","no.hu","mat6tube.com","ericatv.com","shit.com","homeclips.com","privatehomeclips.com","rro.ca","bellesa.co","amie.com","agirls.com","socialmediagirls.com","inhumanity.com","imhentai.xxx","anyporn.com","fox46.com","hlebo.mobi","agonow.com","akt.de","bestfeeds.com","swallowcrockerybless.com","4tube.com","nurxxx.mobi","xxx.mobi","fapvidhd.com","peekvids.com","evilangel.com","t100.com","fucktor.com","g-glass.com","latex.at","jizzbunker.com","milffox.com","3xmail.com","ahits.com","pics.de","pornpics.de","iamnaughty.com","berkley.com","planetsuzy.org","alphaporno.com","aporno.com","bravotube.net","tube.net","xcams.com","chicks.com","xhamster2.com","dorcelstore.com","777live.com","anmall.com","xxxweb.com","cul.com","singles.com","fuqqt.com","streamate.com","babe.com","xbabe.com","nina.com","victoria.com","assresort.com","rabbits.webcam","fc2.com","madurasx.com","videosdemadurasx.com","pussytorrents.org","sexdirectories.com","thisav.com","youpornpremium.com","borwap.pro","scandalplanet.com","cnv.com","xxxbunker.com","3host.com","cam.be","teenhearts.com","xxxvideos247.com","xland.org","yporn.net","toononline.com","pornvideos.name","naughtyamerica.com","virginia.gov","hooters.com","cambro.tv","sexy.mobi","punternet.com","amovideo.com","xmovies.com","cematch.com","huse.com","fapcat.com","nates.com","adora.com","crazyshit.com","happyescorts.com","mydirtyhobby.com","megapornx.com","pornx.com","sindiana.com","whosdatedwho.com","pornimages.co","pornimages.com","old.li","ynot.com","intit.com","bangbrosnetwork.com","gosoftwear.com","modthesims.info","332.us","lovehoney.co.uk","pichunter.com","babe.to","babe.today","love.org","daftporn.com","sexy.net","hot-sex-tube.com","armot.com","granny.com","xmart.com","porn.biz","cityheaven.net","f95zone.com","staxus.com","xandria.com","dailyom.com","istripper.com","stripper.com","pornleech.com","galore.com","tubegalore.com","videocelebs.net","ydra.de","strpjmp.com","mrdeepfakes.com","adamandeve.com","fashionmodeldirectory.com","superstats.com","sexcess.com","xfeed.com","4porn.com","skoften.net","esdlife.com","pornvideotop.com","gape.com","lovehoney.com","ancensored.com","fapality.com","xxxporn.pics","freeporn8.com","porn8.com","prpops.com","nips.com","ahacdn.me","hentaifox.com","lick.nl","naughtydate.com","xfreehd.com","jgirls.co","jjgirls.com","sextube.com","xtube.com","hostedtube.com","celebrities.com","racy.com","lifeselector.com","play.ch","pornjk.com","pottsmerc.com","bookmark.com","namethatpornstar.com","pornstar.com","pornogratisdiario.com","vipergirls.to","cool18.com","sextvx.com","pornstars.com","tubepornstars.com","vixen.com","erito.com","fakehub.com","livexlive.com","youngs.co.uk","assmobile.com","hellporno.net","porno.net","amsterdam.com","iceporn.com","hoe.com","squirtnetwork.com","cliphunter.com","bravoporn.com","oporn.com","gomiblog.com","webcam.com","sextracker.com","videohd.net","xxxvideohd.net","exporntoons.net","hotmovies.com","thestranger.com","tipser.com","breatheheavy.com","fun4boys.com","xfr.com","javgg.net","ulla.com","javfun.me","vidz.com","fapnado.com","rolotube.com","tube.bz","bigrock.com","gate.cc","heatworld.com","javlibrary.com","pornbraze.com","cuworld.com","pornvideos.com","sopornvideos.com","avporn.com","vporn.com","pussyspace.com","babepedia.com","hentai.to","nhentai.to","femalefirst.co.uk","lacuarta.com","poppen.de","vintag.es","hookup.com","compagnie.com","vidday.com","gonewild.co","influencersgonewild.com","yes24.com","hotntubes.com","dtiserv.com","eurogirlsescort.com","islive.net","lsl.com","egotastic.com","gamcore.com","chat.co.uk","extremesexchannels.tv","shesfreaky.com","cosabella.com","javporn.net","lyla.com","damplips.com","modelhub.com","sex-videos.com","xxx-cdn.com","ecarson.com","oceleb.com","hellporno.com","hentai.com","yourlust.com","1011.com","didos.com","playfulpromises.com","phncdn.com","ishka.com","nudeclap.com","69s.com","mypornhere.com","porndig.com","stream6.com","xx03.com","pornhits.com","ivanet.com","rnpictures.com","sexpornpictures.com","tsnw.com","ampass.com","hentai.tv","woodbridgewines.com","starsenal.com","hentai.io","film-x.com","couple.com","girl-directory.com","l-directory.com","army.de","megatube.xxx","nudepussy.live","vikiporn.com","indexxx.com","pornolaba.com","empflix.com","silkengirl.com","xxxx.com","df.ru","isportsbook.com","bjob.com","xx10.com","evity.com","9gag.com","sexguide.nl","chollian.net","shiola.co.uk","veoo.com","namethatporn.com","asiandate.com","bos.so","inchat.com","hotornot.com","isex.com","modelmayhem.com","nightlife.ca","evn.com","sxyprn.net","latina.com","ile.cc","shooshtime.com","clube.com","sment.com","paradisi.de","youx.xxx","youppie.net","chat-avenue.com","xempire.com","joyreactor.com","xxx.org","xxxx.org","hey.lt","b3.nu","tukif.com","porn123.com","images-xxx.com","porndroids.com","pornolab.net","dom.co.il","hotmaill.com","pervertslut.com","playtime.com","vintage-erotica-forum.com","tumbex.com","erados.com","cutt.us","xmovie.com","nonktube.com","fuck-xxx.com","abporn.com","phun.org","5xxx.com","kadin.com","o-shop.de","gifdeliverynetwork.com","mbtrx.com","abshow.com","pornwhite.com","tushy.com","aurls.com","dirtyship.com","fuckjpg.com","hqfuck.com","wafflegirl.com","union.fr","x520.com","proporn.com","sexu.com","321sexchat.com","sexchat.com","cumshots.co","cumshots.com","aeonline.com","phun.com","xx.pl","lingerie.com","wankoz.com","xxxpicss.com","amateurx.com","barebackrt.com","tchats.com","js.pl","loveme.com","mennetwork.com","xxl.tv","mainecoon.com","oska.com","start.be","vietnamcupid.com","amiz.fr","pornpic.xxx","tiava.com","xfantasy.tv","oxpass.com","xpass.com","mrskin.com","thumblogger.com","xposed.com","node2.com","pornhub-deutsch.net","camonster.com","fasthosts.co.uk","fleurdumal.com","homemoviestube.com","payserve.com","plusdating.com","ahern.com","eros.es","boosty.com","a6.com","incestflix.com","metartnetwork.com","8muses.com","ambitionbox.com","flyflv.com","lopss.com","smutr.com","vrouwen.com","tranny.one","googles.com","pinkcherry.com","loway.com","vcomm.net","sggirls.com","proteins.com","dirtypornvids.com","mvideoporno.xxx","nubiles.net","puritanas.com","pair.de","mortystv.com","onecode.com","tar.hu","gia.la","xneon.com","amateurmature.info","reductress.com","sexynudes.tv","thp.ca","adultgalls.com","chaturbate.eu","colliderporn.com","gayboystube.com","hentaiporns.net","live6.de","pornpros.com","cartoonpornguide.com","pornguide.com","fap18.net","fuskator.com","xpages.com","agentprovocateur.com","teenz.com","bestfreecams.club","hotpics.com","fapdig.com","nubilefilms.com","ubilefilms.com","16honeys.com","honeys.com","alohatube.com","anade.org","caribbeancom.com","imen.com","porngur.com","oxlist.com","iwank.tv","derwhite.com","powergrid.com","lgirls.com","cartoonpornvideos.com","xnxx2.com","xxxcrowlimg.com","eviewporn.com","g-web.net","cuties.com","pornbb.org","sfgiants.com","cadv.com","voyeurweb.com","kinghost.com","mature.nl","pclady.com.cn","stars.de","theync.com","evilmilk.com","gifsfor.com","ragt.com","boutique.co.uk","porngipfy.com","ayana.com","islive.nl","blossoms.com","mangaupdates.com","maturetube.com","osexporn.com","sexporn.com","xporn.com","gijo.org","xvideoscom.me","alotporn.com","asswap.com","teatroporno.com","troporno.com","yespornpics.com","cocogals.com","javhd.today","maturetubehere.com","u-on.eu","celebsnudeworld.com","nudeworld.com","lesbiansex.pro","gif-porn.net","patches.org","porno.org","babestube.com","gays.com","freesexdoor.com","xdoor.com","hentai2read.com","its.porn","icams.com","setgo.com","xvids.com","allofteens.com","teens.com","fairynudes.com","nudes.com","gaycities.com","milfsextube.net","pimpandhost.com","stocking-porn.com","pbucks.com","topbucks.com","r-sexe.com","xxxvogue.net","mast.net","erect.com","gaytorrent.ru","6club.com","sleazyneasy.com","tits-guru.com","xzporn.com","amateur.tv","mateur.tv","hardrockcasino.com","tonicmovies.com","viptube.com","xxxneoncity.com","anon-v.com","mrstiff.com","ohsex.pro","putes.com","sexalarab.com","sieg.com","culos.com","iculos.com","xhosting.com","boundhub.com","ss-inc.com","cumonprintedpics.com","go-hosting.com","trafficshop.com","teenmag.com","asscj.com","escort-advisor.com","ts-today.com","lovebscott.com","pervclips.com","pornicom.com","worldsex.com","mpxgirls.com","xgirls.com","sipsap.com","webinc.com","celebrity.com","citychiconline.com","femme.com","espaceplaisir.fr","porn-videos.club","iloopit.net","flys.com","manhunt.net","mailin.net","xworldpornpic.com","boobpedia.com","xmagazine.com","xmovs.com","stop.de","kaufmich.com","pornoperso.com","sexygirlspics.com","00webcams.com","99traffic.com","porngo.com","fancentro.com","laxe.com","iafd.com","shemalez.com","carmail.com","naked.net","howard.com","fastxxxpicssearch.com","porn.org","sexporn.org","tokyomotion.net","celebsroulette.com","nita.org","vicio.com","pornmaki.com","ixgames.com","goportal.com","egao.com","tslust.com","fuckyoucash.com","anals.com","jos.lt","node3.com","startkabel.nl","bukkakesex.tv","sex.tv","dmm-extension.com","drunkpichunter.com","tanda.com","japancupid.com","saucenao.com","thotvids.com","wtfpeople.com","xpaja.net","bums.com","contacts.at","tranny.com","rncdn7.com","katestube.com","itaboo.com","plugrush.com","portlandmercury.com","streamen.com","porngifs.com","gfy.com","pered.com","definebabe.com","mrporngeek.com","rabbitsreviews.com","rumors.it","lmstube.com","sexfilmstube.com","thong.com","xanimu.com","xxxsextube.net","adult-empire.com","sexpic.com","farmgirl.com","cumlouder.com","foxes.com","koxk.com","dump.com","realitykings.com","tubedupe.com","oporn.net","easytoys.nl","flavinha.com","iyalc.com","nifty.org","m-game.jp","bigporn.com","igporn.com","friendfinderinc.com","sexlikereal.com","tsescorts.com","bangbrosteenporn.com","teenporn.com","neighborhoodsluts.com","sluts.com","xflirt.com","171gifs.com","entensity.net","freesex.com","morazzia.com","reuni.eu","theplace2.ru","xxxlibz.com","lelo.com","boy18tube.com","nnteens.com","pop6.com","pornovideoshub.com","ice.nu","pornogratisx.net","videospornogratisx.net","budweiser.com","fapple.com","hqtube.tv","ilikecomix.com","mdc.ca","linq.nl","xxxporn.com","simply-hentai.com","schoolgirls.com","allover30.com","over30.com","blowjobgif.net","cpays.com","ferrit.com","radiofree.com","blood.com","mmaaxx.com","hentaicomics.com","myhentaicomics.com","porngifmag.com","sexogaygratis.biz","aufeminin.com","teamskeet.com","lehit.com","hentia.co","tubetria.mobi","xrares.com","xyz.fr","18magazine.com","bjobs.com","chinmaster.com","hotscope.tv","nicki.com","jovencitas.gratis","porndr.com","pornflip.com","x-movies.net","p-bot.com","3naked.com","x-hd.com","tramps.com","erofus.com","gay.tv","icegay.tv","dsliving.com","o-mag.com","mypron.tv","pron.tv","newbienudes.com","newsdump.com","pornerbros.com","ynotporn.com","visit-x.net","wendise.com","duga.jp","eroticbeauties.net","millionairematch.com","nude-virgins.info","virgins.info","relax-porn.com","picsz.com","xorgasmo.com","bekkoame.ne.jp","boobspicshunter.com","kum.com","sinbox.com","tubemature.tv","zbporn.tv","porntv.com","bbwtubesexy.com","sexy.com","bestporn.com","collectionofbestporn.com","kinky.nl","onlinedating.com","sexy-egirls.com","celebritymoviearchive.com","slingshots.com","hushpass.com","kitty-kats.net","4sex.com","tube4sex.com","beboo.ru","gifmeat.com","dudes.com","gayporn.com","gotgayporn.com","dxlive.com","baddiehub.com","bravoteens.com","cam4.de.com","maidenform.com","sexcelebrity.net","shameless.com","musume.net","xvidzz.com","asianxtv.com","bangtubevideos.com","bbpeoplemeet.com","bestofcomicbooks.com","celebsunmasked.com","rclip.com","cndi.org","meetav.com","sexlist.com","sexprontube.com","indestiny.com","wikiporn.tv","amourangels.com","bombshells.com","jpnudeidols.com","nudeidols.com","nud.com","legalporno.com","1tube.com","my1tube.com","sex-tracker.com","thecount.com","watchmygf.me","xbooru.com","xcity.jp","xcum.com","videosporno.blog.br","xvideosporno.blog.br","bust.com","camgirl.com","fiance.com","pornhubs.video","cams-24.com","soundboards.com","dateinasia.com","faptitans.com","girlsgogames.com","danni.com","maturemoms.tv","x3.net","rajwap.xyz","sexclipshd.com","teenmegaworld.net","veporno.net","shueisha.co.jp","pornovideo.com","gwlt.com","darkangelonline.nl","fewporn.pro","gaycams.us","happy-porn.com","ivan.com","ucan.com","latinovirgin.com","moviefap.com","pornlib.com","siska.tv","dykes.com","xtapes.to","youjizzlive.com","aboutgirlslove.com","fleshlight.com","ftopx.com","javhub.net","pimproll.com","xbombo.com","stileproject.com","tlady.com","eyes.at","5up.net","animal.fr","newsensations.com","sensations.com","porncomics.me","porntn.com","sexpicturespass.com","sextgem.com","goodtrade.com","anime-pictures.net","thai88.com","yteens.biz","hqtube.xxx","host.kz","mult34.com","pornmage.com","pornosearch.guru","niki.com","totalfratmove.com","anus.net","unusualporn.net","xxxneonplanet.com","xxxporntv.net","bellazon.com","burningcamel.com","dacash.com","babes.com","elitebabes.com","gayforit.eu","e03.de","homepornking.com","pornking.com","lushstories.com","nudography.com","silverdaddies.com","annasangels.co.uk","excellentwebcams.com","cums.com","nyloner.com","nlounge.com","tubev.sex","xfind24.com","xyzcomics.com","gammae.com","gaywirecash.com","fuck.biz","fucked.com","indiansgetfucked.com","kingcomix.com","sexclub.com","mypornstarblogs.com","cette.com","nporn.net","redteenporn.net","here3d.com","sv2.biz","4me.net","camgirls.com","hhg.com","fetishshrine.com","sexmovies.com","top6.com","hseries.com","casinos.net","dahentai.com","saradahentai.com","tubelombia.com","hairy.com","wearehairy.com","chill.to","esuburbs.com","bordelle.co.uk","brf.com","imdi.com","xnxx.pro","ebony8.com","eroprofile.com","javcl.com","jusporn.com","plusone.com","smut.com","swapsmut.com","thebestfetishsites.com","tube188.com","badgirlsbible.com","befuck.net","fuck.net","ccent.org","chatrandom.com","ero-video.net","kudosporn.com","osporn.com","netporn.net","pixytube.com","sonorousporn.com","vivatube.com","xxxpornozone.com","belamionline.com","biggercity.com","fiesta.co.uk","downloadwap.com","homegrown.com","fantasyescortblogs.com","hidefporn.ws","julesjordan.com","porn69.com","xxxtube2022.com","boohoo.de","cleanpornlinks.com","pornlinks.com","crocotube.com","rocotube.com","fuckporn.com","dinotube.com","dressupgames.com","fap.to","frprn.com","slutz.com","voici.fr","playblog.org","porncomixonline.net","tube2017.com","tubexclips.com","anilos.com","yhentai.com","barelist.com","fanatix.com","lobstertube.com","phil-flash.com","pornvideoq.com","sharesome.com","tubewolf.com","xxx18hot.com","collegegirls.com","definefetish.com","fetish.com","gosexpod.com","dating.de","lethalpass.com","sdate.com","lesx.com","alvideos.com","toprealvideos.com","usearchx.com","yuvutu.com","adultdates.com","babesource.com","angelinavalentine.com","club-angelinavalentine.com","fhm.nl","dcup.com","freeadultcomix.com","homemadefucktube.com","e-xxx.com","free-xxx.com","internationaljock.com","kindgirls.com","pinflix.com","porn00.org","pornl.com","eatme.com","mature.com","tightteela.com","tram-pararam.com","tube8.fr","tubezaur.com","vidmax.com","xerotica.com","xxxfiles.com","buenatube.com","doujins.com","camstars.com","freecamstars.co","freecamstars.com","freegaysexgames.com","sexgames.com","lives.net","memecrunch.com","teenporno.com","crossreference.com","pornograd.net","pussy.com","xtremetop100.com","porn-tube.com","xxx-porn-tube.com","0xxx.ws","adultsclips.com","xxx.net","yxxx.net","anyxxx.pro","momsporn.com","fallenteenangels.com","teenangels.com","pornobabes.com","blackteenbabes.com","teenbabes.com","bombshell.com","porn555.com","momsvideos.com","shemp.com","tubezzz.net","teentube.com","xxxpicplanet.com","babes-porn.com","hot-boobs.com","fantasias.com","datawav.club","forumophilia.com","fux.com","g-xxxhub.com","pornos.com","hentaimama.io","livejasminwebcams.com","xxxsex.com","pandora.de","xmag.com","pornfuck.net","tube3.com","3gpking.pro","best-paypornsites.net","boobsspider.com","hardcore.com","dtiserv2.com","couples.com","ftvmilfs.com","gaystarnews.com","hornywhores.net","hypnotube.com","dollhouse.com","missmalini.com","rapefilms.net","eeporn.com","freeporn.com","myfreeporn.co","myfreeporn.com","sextubefuck.pro","msex.com","streamsex.com","rencontre.com","superencontre.com","qtube.com","vrporn.com","wporncomics.com","pornxxx.com","ypornxxx.com","bdsmdates.com","clubseventeen.com","sexplained.com","designscene.net","vaxxi.net","gayporno.fm","porno.fm","xtraordinary.com","journelle.com","ssporn.com","mrpinks.com","kut.com","tbib.org","tubemom.tv","xdvdz.com","ftvgirls.com","heretv.com","pornvideo.com","pornotv.com","badoo.com","lesbian8.com","mestreafiliados.com","metart.com","moscarossa.biz","pbos.com","asex.com","gasex.com","clit.com","hdporn.com","pornhot.com","hornyjourney.com","ab3.com","o-xxx.com","video-xxx.com","pornozavr.net","porntry.com","sindustry.com","sexidude.com","ansx.com","vidmo.org","xnxvideos.org","tubeporn.com","bootytape.com","brattysis.com","celebrityleakednudes.com","edenfantasys.com","fantasys.com","olo.cool","hentairead.com","kaotic.com","porngem.com","sex3.com","pee.net","spunkysheets.com","videosgratis.tv","sex-films.com","adultfreedating.com","adultvideotop.com","bdsmtest.org","otoes.com","nmyface.com","fap-tube.com","hegre.com","sexcinema.com","thesexcinema.com","babesandstars.com","gay-torrents.net","xpics.com","xxxpics.com","iem.fr","interracialpass.com","mansurfer.com","igallery.com","myhentaigallery.com","fash.com","drecom.jp","porncore.net","pornowatch.net","pornrox.com","4t3.com","betterwithage.com","tropictube.com","webtuna.com","liebe.de","ishot.com","gfh.com","goodpornvids.com","free-porn.com","instabang.com","pornjam.com","pornogrund.com","pornrabbit.co","pornrabbit.com","porzo.com","redtube.com.br","rstatic.be","girlz.com","vpscash.nl","porn-mov.com","zbiornik.com","zzbabes.com","camstreams.tv","kscans.com","etvnow.com","naughtyblog.org","nu-bay.com","pornoxo.com","mporn.com","reamporn.com","stocking-pages.com","elguru.com","tt1069.com","xecce.com","yanks.com","arabsex66.com","bdsmstreak.com","erocurves.com","forttroff.com","goldhdtube.com","machotube.tv","ormach.com","livewebcams.com","xlivewebcams.com","alrincon.com","cumpleaser.com","pleaser.com","erog.fr","pazz.com","freeviewmovies.com","fuckbook.com","fuckmoral.com","nerve.com","atons.net","freesex4all.com","hotfreesex4all.com","nsfw.com","yahoo.com","o-bo.com","photosex.biz","sex.biz","porn-w.org","pornorama.com","preferred411.com","faptube.co","faptube.com","runporn.com","mailorderbrides.com","tubexvideo.com","xxxymovies.com","zootube1.com","bored.com","girlsoutwest.com","sunix.com","amkt.com","nastyvideotube.com","pinkclips.mobi","gindex.com","porn1.com","xxxmillion.com","edporn.com","zedporn.com","adulthostedblogs.com","anexpert.org","beegnow.com","filthnest.com","eberg.net","girlstalkinsmack.com","pornvideos.mobi","homemadeporn.com","porndaddy.com","pornoshara.tv","queer.de","starmagazine.com","thepornlist.net","anybunny.mobi","carpediem.fr","kporno.com","sxxx.com","renas.com","fappenist.com","foxporns.com","freepornq.com","pornq.com","germanfucktube.com","intporn.com","ifriends.com","gateway.nu","nique.org","teenhost.net","tekstovi-pesama.com","the-sex.me","camshows.org","wifelovers.com","xxxstreams.org","biza.com","brazilcupid.com","fc2av.com","gaydar.net","glam0ur.com","gogotube.tv","handjobhub.com","xwebhosting.com","lxax.com","mexicancupid.com","playboy.de","2live.com","tastyblacks.com","ohentai.com","toroporno.com","tube8.es","unclevids.com","caprice.com","pornload.com","uw.hu","xxxtv.com","xxx.be","isgreat.com","tpe.com","fetisch.de","you-porn.com","gexo.com","indiansex.tv","pornorips.com","sexjobs.nl","spankwire.com","twoplustwo.com","xnxxcom.club","porngay.com","youporngay.com","melove.com","awejmp.com","blacktowhite.net","libero.it","leaning.co.uk","astrologie.com","tempted.com","deluxepass.com","dirtyroulette.com","dreammovies.com","dynasty-scans.com","freespeechcoalition.com","helixstudios.com","idealmilf.com","amembers.com","erose.com","sexblogs.com","pornbay.org","casadas.com","soyoung.com","tabootube.xxx","topsiteuri.ro","tubetubetube.com","violetmovies.com","knowporn.com","weknowporn.com","4girls.co.il","adammale.com","adamsextract.com","showa.com","brigitte.com","biqle.ru","bobandtom.com","cadena.com.br","familystrokes.com","keezmovies.com","twink.com","niteflirt.com","thepornmap.com","twrank.com","bigfuck.tv","herewego.com","grannyfucks.me","hdpornos.net","pornos.net","hotindianfuck.com","hqcollect.net","iknowthatgirl.com","tgirl.com","sexpert.com","openporn.network","ltparts.com","slickcams.com","amateurs.com","camateurs.com","mateurs.com","tacamateurs.com","winporn.com","xxxlib.mobi","150teengalleries.com","ngalleries.com","bestporncomix.com","exgo.com","dating.co.uk","sex.net","hentaistream.com","lustful.tv","nudebase.com","ohentai.org","pasionmujeres.com","planetromeo.com","pronhub.com","shit-around.com","ke.to","socialitelife.com","xsearch.cc","twpornstars.com","xhamstercams.com","adultdvdtalk.com","adultxxxarea.com","arabysexy.com","arenaporno.com","atkmodels.com","kmodels.com","cult.at","filthyway.com","tladies.com","japanesebeauties.net","lov.ru","kissjav.com","e97.de","loveshack.org","porneq.com","porngifer.com","pornoeggs.com","pornoente.tv","spele.nl","suicidegirls.com","girlsex.net","teenygirlsex.net","trendyporn.com","tubeplan.com","viewgals.com","jam.net","wildgay.com","xxxvideos.su","520cc.cc","qporn.com","babesnetwork.com","bitporno.com","cerdas.com","assmail.com","freechatnow.com","freexcafe.com","gaydemon.com","hardcoregamer.com","modelsgonebad.com","lendinghub.com","porn-star.com","pornosphere.com","watersports.com","reporn.com","ssex.com","todorelatos.com","raidrush.ws","sitego.com","comicsporno.com","vercomicsporno.com","xxxhunterspider.com","sexcomix.com","fsex.com","dogfartnetwork.com","epicpornvideos.com","foxybingo.com","hubetubex.com","tubex.co","o-magazine.com","milfseeker.com","gotboobs.com","mommygotboobs.com","nerdnudes.com","netflixmovies.com","porngals4.com","showmewebcams.com","ftube.com","sxx.com","videosx.com","xreview.com","upcomics.org","upskirt.tv","thrills.com","wetpussy.sexy","bustedtees.com","sexradar.com","stdesire.com","forhertube.com","expics.com","freematuresexpics.com","fuckmovs.pro","hentaidude.com","hypnohub.net","xdate.com","japan-whores.com","whores.com","escortguide.com","londonescortguide.com","ycams.com","melonstube.com","easy-dates.com","page-x.com","pornosauna.com","prontv.org","redlights.be","nues.com","sexemodel.com","uol.com.br","sexsaoy.com","nasty.com","thehentaiworld.com","truthordarepics.com","masturbate.com","10pic.com","3gpjizz.pro","adultsitetoplist.com","bestcuties.xyz","chyoa.com","isex.net","dirtydoglinks.com","easypic.com","hdxxnxx.com","hq-sex-tube.com","eblue.co.uk","etop.ru","stickamvids.net","tenderboys.net","tiny4k.com","nixos.com","cannabis.net","cartoonreality.com","247live.com","curvyerotic.com","xxxtube.org","footangels.com","adultgames.com","free3dadultgames.com","helixstudios.net","hottystop.com","okm.com","imperiodefamosas.com","thegays.com","kasidie.com","mistress.com","icertified.com","nothingtoxic.com","crasoft.com","vipentertainment.net","porn.fr","pump-cdn.com","teensnow.com","thehun.net","virgin-paradize.com","darkcategories.com","directbigboobsreloaded.net","drunkenstepfather.com","erosberry.com","familyporn.tv","yporn.tv","freerealvideo.com","gratistodo.com","hentairider.com","tchicks.com","javbangers.com","jlist.com","knockporn.com","sexx.com","lordgun.com","asian.com","ratx.com","outpersonals.com","pervertstore.com","pics.nu","pornsos.com","pornfree.com","troma.com","lecraft.com","trailerwmv.com","young.fr","xnxxcomvideos.com","porm.com","3xtoys.ca","boyculture.com","chantelle.com","clipf.com","coed.com","cutewebcams.com","frauporno.com","uporno.com","loveplay.com","imgadult.com","monstercockland.com","punishworld.com","puporn.com","scarleteen.com","spitzetitten.com","los.ch","titsintops.com","amateursex.com","tubeamateursex.com","tushyraw.com","xoxobella.com","xxxdessert.com","dbabes.com","cam4.fr","camwhoresbay.com","bears.xyz","fcn.ca","coco.fr","fleshbot.com","funbags.com","tight.com","bdsm.com","hitbdsm.com","lamalinks.com","perfectnaked.com","pornedup.com","pornsites.xxx","andoo.de","matureclub.com","sexmex.xxx","storiesonline.net","xmodels.com","tendertouch.com","thefrisky.com","tubepleasure.com","xex.com","clubsweethearts.com","dickievirgin.org","gamelink.com","intporn.org","klik.hr","malgusto.com","f4m.de","morefunforyou.com","adult.net","xadult.net","objectsex.tv","pieshop.com","8videos.com","porn18videos.com","dragon.ca","sexxx.to","sexykittenporn.com","1pondo.tv","topmanga.com","shemalelive.com","besthugecocks.com","blacksexbook.com","sexbook.com","aker.be","craiglist.com","but.com","hausfrau.com","fetish-xxx.com","gay-fetish-xxx.com","gaybeeg.info","pureskin.com","interracialpornjungle.com","18plus.com","tyrantdb.com","manga-porn.com","xxmix.com","mrporn.com","hairygirls.com","mature.net","older-mature.net","thatass.com","pagalworld.asia","pandesiaworld.com"]),qf=new Set(["bnpparibas.com","abnamro.nl","anz.com.au","bradescori.com.br","bb.com.br","itau.com.br","santander.com","bankmandiri.co.id","bankofamerica.com","boc.cn","barclays.com","mufg.jp","citigroup.com","credit-suisse.com","db.com","goldmansachs.com","hsbc.com","jpmorganchase.com","societegenerale.com","belfius.com","ing.com","intesasanpaolo.com","smbc.co.jp","mizuho-fg.com","westpac.com.au","ubs.com","standardchartered.com","kbc.com","bbva.com","morganstanley.com","nedbankgroup.co.za","rabobank.nl","rbc.com","natwestgroup.com","scotiabank.com","ccb.com","icbc-ltd.com","sbi.co.in","standardbank.co.za","credit-agricole.com","unicreditgroup.eu","bancogalicia.com","bmo.com","triodos.com","bancaetica.it","abs.ch","asnbank.nl","gls.de","macquarie.com.au","co-operativebank.co.uk","rsfsocialfinance.org","caixa.gov.br","caixabank.com","bancopopular.es","bes.pt","desjardins.com","ekobanken.se","cdb.com.cn","eximbank.gov.cn","cebbank.com","cibc.com","manulife.com","nordea.com","zkb.ch","td.com","danskebank.com","erstegroup.com","wellsfargo.com","commbank.com.au","nab.com.au","deka.de","natixis.com","commerzbank.com","cib.com.cn","bangkokbank.com","kasikornbank.com","absa.africa","accessbankplc.com","aaib.com","brou.com.uy","grupobancolombia.com","bankmuscat.com","corpbanca.cl","dnb.no","edc.ca","firstrand.co.za","fmo.nl","kfw-ipex-bank.de","lloydsbankinggroup.com","sebgroup.com","bnpparibasfortis.com","garantibbva.com.tr","akbank.com","bankofafrica.ma","abchina.com","pnc.com","nibc.com","ahliunited.com","veb.ru","sbrf.ru","bankcomm.com","hxb.com.cn","cmbchina.com","spdb.com.cn","cmbc.com.cn","cncbinternational.com","axisbank.com","idbi.com","alfabank.com","hdfcbank.com","icicibank.com","citicbank.com","pingan.com","bankofbeijing.com.cn","nbcb.cn","njcb.com.cn","vtb.com","maybank.com","cimb.com","dbs.com","ocbc.com","uobgroup.com","bni.co.id","bri.co.id","idfc.com","openbank.ru","viabcp.com","dzbank.com","bnymellon.com","usbank.com","suncorpgroup.com.au","labanquepostale.fr","allianz.com","bayernlb.com","helaba.de","hsh-nordbank.com","lbbw.de","nordlb.com","mediobanca.it","rbinternational.com","swedbank.com","bankofindia.co.in","pfcindia.com","licindia.in","pkobp.pl","bgk.com.pl","gnb.pl","bankmillennium.pl","bca.co.id","danamon.co.id","bgz.pl","creditmutuel.fr","bndes.gov.br","bankia.com","norges-bank.no","kfw.de","bpce.fr","winglungbank.com","cathaybk.com.tw","smth.jp","grupbancsabadell.com","bankhapoalim.com","leumi.co.il","discountbank.co.il","mizrahi-tefahot.co.il","fibi.co.il","mcbgroup.com","cibanco.com","fidelitybank.ng","ecobank.com","finnfund.fi","eximbankindia.in","exim.gov","truist.com","cifi.com","banorte.com","bancovotorantim.com.br","gov.uk","handelsbanken.com","bankinter.com","esunbank.com.tw","efic.gov.au","ekf.dk","eksportkreditt.no","ico.es","bankfab.com","op.fi","btgpactual.com","greeninvestmentgroup.com","bancoestado.cl","jsbchina.cn","gcs-web.com","sek.se","kdb.co.kr","nochubank.or.jp","fubon.com","devolksbank.nl","nykredit.com","jyskebank.dk","sydbank.com","sparebank1.no","o-bank.com","psbc.com","shinkin-central-bank.jp","nbe.com.eg","banquemisr.com","zenithbank.com","cibeg.com","attijariwafabank.com","groupebcp.com","shinhangroup.com","yuantabank.com.tw","shinseibank.com","mycc-bank.com","ctbcbank.com","cqrcb.com","sinopac.com","hzccb.net","firstbank.com.tw","kbfg.com","bgzchina.com","taishinbank.com.tw","megabank.com.tw","wooribank.com","hanafn.com","cqcbank.com","nonghyup.com"]),Ff=new Set(["fonts.googleapis.com","facebook.com","twitter.com","google.com","youtube.com","w.org","instagram.com","googletagmanager.com","linkedin.com","ajax.googleapis.com","gmpg.org","pinterest.com","gstatic.com","wordpress.org","wikipedia.org","youtu.be","apple.com","github.com","bit.ly","goo.gl","cloudflare.com","vimeo.com","google-analytics.com","maps.googleapis.com","flickr.com","vk.com","t.co","reddit.com","amazon.com","medium.com","creativecommons.org","microsoft.com","adobe.com","soundcloud.com","theguardian.com","europa.eu","googleusercontent.com","nytimes.com","bootstrapcdn.com","blogger.com","forbes.com","s3.amazonaws.com","jquery.com","dropbox.com","paypal.com","tinyurl.com","etsy.com","theatlantic.com","archive.org","amzn.to","cnn.com","wikimedia.org","issuu.com","imgur.com","wordpress.com","wp.me","businessinsider.com","yelp.com","t.me","washingtonpost.com","bbc.com","amazon.de","bbc.co.uk","doubleclick.net","mozilla.org","eventbrite.com","slideshare.net","w3.org","forms.gle","telegraph.co.uk","messenger.com","gravatar.com","usatoday.com","huffingtonpost.com","stackoverflow.com","fb.com","npr.org","techcrunch.com","wired.com","eepurl.com","reuters.com","arxiv.org","wp.com","yahoo.com","amazon.fr","tumblr.com","cnbc.com","zoom.us","wa.me","paypal.me","slack.com","independent.co.uk","discord.gg","spotify.com","tripadvisor.com","behance.net","thinkwithgoogle.com","who.int","ibm.com","mixcloud.com","google.co.in","latimes.com","macromedia.com","dailymail.co.uk","line.me","unsplash.com","storage.googleapis.com","googlesyndication.com","jsdelivr.net","g.co","meetup.com","bloomberg.com","vox.com","imdb.com","arstechnica.com","amazon.co.uk","statista.com","google.ca","nbcnews.com","steemit.com","amazon.co.jp","w3schools.com","weibo.com","twitch.tv","moz.com","drupal.org","nypost.com","ebay.com","sourceforge.net","godaddy.com","nih.gov","wsj.com","thenextweb.com","cdc.gov","opera.com","ftc.gov","j.mp","about.me","gov.uk","ytimg.com","squareup.com","google.co.uk","buzzfeed.com","pixabay.com","quora.com","cnet.com","google.com.au","myspace.com","theglobeandmail.com","shopify.com","whitehouse.gov","kickstarter.com","freelancer.com","evernote.com","gmail.com","wixstatic.com","fortune.com","wix.com","dailymotion.com","goodreads.com","google.co.jp","surveymonkey.com","cbsnews.com","entrepreneur.com","bing.com","engadget.com","tandfonline.com","cargocollective.com","whatsapp.com","shutterstock.com","twimg.com","blog.google","time.com","lifehacker.com","patreon.com","scribd.com","feedburner.com","trello.com","ted.com","researchgate.net","fda.gov","instructables.com","google.de","digitalocean.com","dribbble.com","variety.com","indiegogo.com","salesforce.com","nasa.gov","codepen.io","newyorker.com","go.com","snapchat.com","googleadservices.com","sciencedirect.com","ft.com","nature.com","gofundme.com","500px.com","qz.com","dropboxusercontent.com","steampowered.com","googleblog.com","oracle.com","gartner.com","msdn.com","mailchi.mp","digg.com","skype.com","periscope.tv","google.com.br","googleblog.blogspot.com","npmjs.com","vice.com","aboutads.info","pexels.com","sxsw.com","fiverr.com","cbc.ca","venturebeat.com","mashable.com","upwork.com","bitly.com","loc.gov","netflix.com","hbr.org","pbs.org","stumbleupon.com","walmart.com","foursquare.com","amazon.ca","tiny.cc","xkcd.com","target.com","nginx.com","canva.com","addthis.com","elmundo.es","indiatimes.com","yandex.ru","pastebin.com","samsung.com","rt.com","ifttt.com","mysql.com","giphy.com","fontawesome.com","houzz.com","android.com","speakerdeck.com","digitaltrends.com","steamcommunity.com","canada.ca","networkadvertising.org","linktr.ee","calendly.com","lg.com","last.fm","amazon.es","businesswire.com","deezer.com","doi.org","udemy.com","bp.blogspot.com","gumroad.com","ubuntu.com","google.ru","makeuseof.com","raw.githubusercontent.com","bluehost.com","deviantart.com","pewresearch.org","google.cn","microsoftonline.com","google.nl","google.es","fastcompany.com","is.gd","telegram.me","mediafire.com","themeforest.net","openstreetmap.org","pewinternet.org","buff.ly","springer.com","bizjournals.com","residentadvisor.net","golang.org","vogue.com","s3-eu-west-1.amazonaws.com","boardgamegeek.com","un.org","redd.it","ow.ly","buffer.com","mozilla.com","chromium.org","patheos.com","ancestry.com","youtube-nocookie.com","barnesandnoble.com","amzn.com","hulu.com","greenpeace.org","spiegel.de","census.gov","box.com","yandex.com","sketchfab.com","avvo.com","searchengineland.com","shareasale.com","abc.net.au","trustpilot.com","rakuten.co.jp","marriott.com","amazon.it","uber.com","coursera.org","adage.com","foxnews.com","flic.kr","chrome.com","change.org","spreaker.com","filezilla-project.org","flipboard.com","pcworld.com","pitchfork.com","weforum.org","istockphoto.com","9to5mac.com","1drv.ms","uspto.gov","irs.gov","copyblogger.com","example.com","siteground.com","sony.net","creativemarket.com","smithsonianmag.com","acm.org","accenture.com","git-scm.com","bbb.org","schema.org","psychologytoday.com","redcross.org","nodejs.org","ameblo.jp","gitlab.com","sciencemag.org","hollywoodreporter.com","freshbooks.com","heise.de","chicagotribune.com","epa.gov","anchor.fm","telegram.org","ikea.com","bloglovin.com","eventbrite.co.uk","googlewebmastercentral.blogspot.com","huffpost.com","weebly.com","producthunt.com","google.fr","linksynergy.com","vanityfair.com","diigo.com","ouest-france.fr","namecheap.com","codecanyon.net","appstore.com","ietf.org","rockpapershotgun.com","columbia.edu","constantcontact.com","webmd.com","material.io","neilpatel.com","discordapp.com","m.me","design.google","francetvinfo.fr","slashgear.com","4shared.com","python.org","amazon.com.au","storify.com","elegantthemes.com","europe1.fr","pwc.com","activecampaign.com","freepik.com","ravelry.com","apnews.com","propublica.org","smugmug.com","inc.com","google.it","zazzle.com","dol.gov","scoop.it","bit.do","yadi.sk","eclipse.org","economist.com","xing.com","hbo.com","nationalgeographic.com","jetbrains.com","iconfinder.com","cafepress.com","strava.com","kiva.org","boredpanda.com","justgiving.com","pinterest.ca","zdnet.com","sproutsocial.com","rebrand.ly","ranker.com","a.co","waze.com","nydailynews.com","marketwatch.com","mailchimp.com","livescience.com","flaticon.com","ilpost.it","facebook.net","google.co.nz","amazon.com.br","ustream.tv","lulu.com","socialmediatoday.com","rollingstone.com","sagepub.com","zillow.com","xinhuanet.com","politico.com","pnas.org","laughingsquid.com","redhat.com","dashlane.com","copyright.gov","mentalfloss.com","zeit.de","google.cz","startnext.com","launchpad.net","lemonde.fr","sciencedaily.com","edx.org","smashwords.com","philips.co.uk","intel.com","livestream.com","brookings.edu","thehill.com","popsci.com","playstation.com","fb.me","oup.com","php.net","wetransfer.com","livedoor.jp","amazon.in","obsproject.com","qq.com","windows.com","hostgator.com","google.gr","theverge.com","aub.edu.lb","digiday.com","gimp.org","treasury.gov","geocities.com","healthline.com","coinbase.com","gnu.org","abc.com","aljazeera.com","getresponse.com","dev.to","thesun.co.uk","lynda.com","sellfy.com","prnt.sc","hp.com","notion.so","vmware.com","kraken.com","vine.co","marthastewart.com","discord.me","dailycaller.com","mega.nz","flavors.me","blip.tv","prntscr.com","plos.org","discogs.com","vanmiubeauty.com","metro.co.uk","google.ie","relapse.com","bandcamp.com","gopro.com","t.ly","mit.edu","billboard.com","britannica.com","wiley.com","techsmith.com","sfgate.com","redbubble.com","repubblica.it","disqus.com","khanacademy.org","skfb.ly","androidauthority.com","accessify.com","tensorflow.org","chrisjdavis.org","box.net","poetryfoundation.org","cornell.edu","penguinrandomhouse.com","refinery29.com","starwars.com","prnewswire.com","zalo.me","reverbnation.com","getpocket.com","about.com","goo.gle","note.mu","thetimes.co.uk","fao.org","bol.com","yoursite.com","sophos.com","automattic.com","podbean.com","sublimetext.com","archives.gov","vizio.com","thelancet.com","guardian.co.uk","tunein.com","stitcher.com","coinmarketcap.com","amnestyusa.org","cambridge.org","asus.com","problogger.net","worldbank.org","ticketportal.cz","dw.com","songkick.com","adweek.com","lifehack.org","apple.co","sutterhealth.org","globalnews.ca","breitbart.com","thumbtack.com","eff.org","snopes.com","crowdrise.com","hkrsa.asia","metmuseum.org","pixlr.com","institutvajrayogini.fr","mosgorcredit.ru","itchyfeetonthecheap.com","reacts.ru","db.tt","udacity.com","we.tl","blogtalkradio.com","audacityteam.org","youcaring.com","harvard.edu","google.ch","nhs.uk","mixi.jp","symfony.com","mtv.com","bitcointalk.org","esa.int","slate.com","oecd.org","raspberrypi.org","sfexaminer.com","warriorforum.com","g.page","bhphotovideo.com","axios.com","pinterest.co.uk","unesco.org","msn.com","visualstudio.com","netbeans.org","blockchain.info","untappd.com","espn.com","cbs.com","michigan.gov","oprah.com","ok.ru","mhlw.go.jp","newegg.com","themarthablog.com","yummly.com","bitpay.com","buymeacoffee.com","deepl.com","scientificamerican.com","audible.com","bitbucket.org","typekit.net","faz.net","adf.ly","cancerresearchuk.org","moma.org","bigthink.com","bandsintown.com","office.com","upi.com","collegehumor.com","lefigaro.fr","gplus.to","themify.me","rtve.es","nba.com","myfitnesspal.com","pirillo.com","eonline.com","ko-fi.com","otto.de","tkqlhce.com","unity3d.com","naver.com","freewebs.com","drift.com","postmates.com","geek.com","geocities.jp","beian.gov.cn","flattr.com","webroot.com","thoughtcatalog.com","google.pl","seroundtable.com","checkpoint.com","jotform.com","xbox.com","infusionsoft.com","globo.com","capterra.com","ea.com","hawaii.edu","osha.gov","buzzfeednews.com","jstor.org","iheart.com","foodnetwork.com","eventim.de","presseportal.de","google.se","skillshare.com","puu.sh","examiner.com","stripe.com","firstdata.com","advertisercommunity.com","pinimg.com","ctt.ec","cia.gov","docker.com","homedepot.com","humblebundle.com","greenend.org.uk","pandora.com","google.co.za","payhip.com","thingiverse.com","inkscape.org","adobe.ly","css-tricks.com","jamanetwork.com","wattpad.com","chase.com","cisco.com","bmj.com","louvre.fr","aclu.org","squarespace.com","gum.co","idealo.de","imore.com","rakuten.com","fbi.gov","united.com","google.pt","on24.com","nejm.org","colorado.edu","franchising.com","logitech.com","redbull.com","tf1.fr","hostinger.com","nbc.com","ign.com","hubspot.com","envato.market","google.be","technorati.com","pond5.com","ucl.ac.uk","a2hosting.com","amzn.asia","nicovideo.jp","indiewire.com","codeproject.com","usa.gov","gleam.io","space.com","gitter.im","ggpht.com","leparisien.fr","kotaku.com","huffingtonpost.co.uk","chronicle.com","createspace.com","verizon.com","teespring.com","goo.ne.jp","kobo.com","globalsign.com","animoto.com","rottentomatoes.com","cell.com","health.com","geni.us","lesechos.fr","fas.org","smashingmagazine.com","7-zip.org","realvnc.com","discovery.com","mlb.com","autodesk.com","popularmechanics.com","rdio.com","sendspace.com","synology.com","angelfire.com","france24.com","battle.net","stjude.org","denverpost.com","japantimes.co.jp","stocktwits.com","envato.com","airtable.com","ticketmaster.com","neh.gov","purl.org","nfl.com","monster.com","dafont.com","tesla.com","lmgtfy.com","olympic.org","baidu.com","overcast.fm","allmusic.com","cdbaby.com","vsco.co","nvidia.com","stadt-bremerhaven.de","faa.gov","yahoo.co.jp","bild.de","lenovo.com","funnyordie.com","abebooks.com","ieee.org","thinkgeek.com","snip.ly","pixiv.net","buzzsprout.com","orcid.org","ampproject.org","feedspot.com","ericsson.com"]),Hf=new Set([...Vf.values(),...qf.values(),...Ff.values(),"mail.ru","bing.com"]),Kf=new Set(["expedia.com","agoda.com","kayak.com","kayak.es","kayak.it","kayak.fr","kayak.de","kayak.co.uk","kayak.be","kayak.nl","priceline.com","hotel.com","hotwire.com","travelocity.com","orbitz.com","lastminute.com","hometogo.com","wimdu.com","casamundo.com","homes-and-villas.marriott.com","holidu.com","holidu.fr","holidu.it","holidu.es","holidu.ch","holidu.pt","holidu.co.uk","novasol.com","novasol.it","novasol.de","novasol.at","novasol.co.uk","novasol.us","novasol-vacaciones.es","novasol-vacances.fr","makemytrip.com","leboncoin.fr","plumguide.com","trip.com","likibu.com","hopper.com","hostelworld.com","glampinghub.com","trivago.com","ar.trivago.com","trivago.ae","trivago.com.ar","trivago.at","trivago.com.au","trivago.be","trivago.bg","trivago.com.br","trivago.ca","trivago.ch","trivago.cl","trivago.com.co","trivago.cz","trivago.de","trivago.dk","trivago.com.ec","trivago.es","trivago.fi","trivago.fr","trivago.gr","trivago.hk","trivago.hr","trivago.hu","trivago.co.id","trivago.ie","trivago.co.il","trivago.in","trivago.it","trivago.jp","trivago.co.kr","trivago.com.mx","trivago.com.my","trivago.nl","trivago.no","trivago.co.nz","trivago.pe","trivago.com.ph","trivago.pl","trivago.pt","trivago.ro","trivago.rs","trivago.se","trivago.sg","trivago.si","trivago.sk","trivago.co.th","trivago.com.tr","trivago.com.tw","trivago.co.uk","trivago.com.uy","trivago.vn","trivago.co.za","5pm.co.uk","acomodeo.com","agodaconnectivity.com","aicgroup.biz","airasia.com","siteminder.com","alba-travel.com","altovita.com","alturabeds.com","andalucia-autentica.com","asaguest.com","asiayo.com","en.atel-hotels.com","americantours.com","atrapalo.com","aura.travel","AzoresGetaways.com","bakuun.com","barceloviajes.com","bed-and-breakfast.it","bestday.com","Bidroom.com","bnberry.com","bonotel.com","bookeasy.com","bookerclub.com","join.booking.com","bookmemaldives.com","visitgroup.com","ba.com","canariasviaja.com","centraldereservas.com","charmingitaly.com","hotel.check24.de","chicretreats.com","cisalpinatours.it","citybaseapartments.com","cityzenbooking.com","clubdevacaciones.es","condortravel.com","connectycs.com","crc.ag","curacity.com","darmawisataindonesia.co.id","daybreakhotels.com","despegar.com","didatravel.com","rooms.digibreaks.com","discoveraustralia.com.au","hotels.dnatatravel.com","dorms.com","easyjet.com","easytravel.com.tw","ec-travel.pt","eccotours.biz","ecohotels.com","findingedyn.com","elong.net","emergingtravel.com","emviagem.pt","epoquehotels.com","esquiades.com","estiber.com","estonianspas.eu","etourismholidays.com.au","europlayas.es","eurotours.at","evasionvoyages.fr","welcome.expediagroup.com","ezibed.com","eztravel.com.tw","favstay.com","feelingo.com","feratel.com","feratel.at","fijiairways.com","fincahotels.com","fliggy.com","flightcentre.com","app.flowtheroom.com","followme2africa.com","fusionholidays.com.au","getaroom.com","discoveryloyalty.com","go2africa.com","goibibo.com","grosvenortours.com","revparguru.com","hafh.com","halalbooking.com","hanatour.com","hero.travel","holidaytravel.co.za","thehomelike.com","hoojoozat.com","hookusbookus.com","hostelsclub.com","tsecure.hostelworld.com","hotelextranet.co.uk","rts.net","hotels.com","hotelsclick.com","revato.com","hotelshopuk.com","login.hotelspecials.nl","home.hotelswaps.com","hoteltonight.com","hoterip.com","housinganywhere.com","hotelspro.com","hrs.com","hurb.com","travel.hutchgo.com.hk","hyperguest.com","i-escape.com","icastelli.net","rewardscorp.com","imperatours.com","infinitehotel.com","corp.inntopia.com","hotel.interpark.com","booking.italiandiscovery.com","itravex.es","new.itrip-online.com","ivivu.com","jet2holidays.com","hotels.jetstar.com","jtb-hawaii.com","jumbotours.com","justhooit.com","kkday.com","klikhotel.com","klook.com","kurz-mal-weg.de","kurzurlaub.de","leisurecom.com","first-travel-group.co.nz","limatours.com.pe","liontravel.com","littleguestcollection.com","loveholidays.com","lusanova.com","luxuryescapes.com","magic-dmc.com","medistays.com.au","hotel.meituan.com","mgholiday.com","migoa.com","misteraladin.com","misterfly.com","mrandmrssmith.com","mybookings.com.au","myhotelbreak.com","mytour.vn","namutravel.com","secure.needitnow.com","nexttrip.com","nomolesten.com","visitnewquay.org","odamax.com","odeontours.com","odigeoconnect.com","odisseias.com","offpeakluxury.com","olympia.it","onthebeach.co.uk","on-travelsolutions.com","opentravel.network","opengds.com","otelz.com","ozaccom.com.au","pacificbedbank.com","panpacific.co.nz","panamericanadeviajes.net","chamonix.com","pegipegi.com","perlatours.com","petspyjamas.com","pitchup.com","portimar.pt","prestigia.com","pricetravel.com","qantas.com","quantumreservation.com","racv.com.au","travel.rakuten.com","solutions.travel.rakuten.com","rehlat.com","reslogic.com","riparide.com","cm.roamfree.com","robinhood.in.th","rocketstay.com","roomlia.com","rusticae.com","rydoo.com","safarinow.com","secretescapes.com","seera.sa","partnerweb.sembo.se","settour.com.tw","silverdoorapartments.com","situ.co.uk","smartie.com","south-african-hotels.com","spabreaks.com","speedybooker.com","splendia.com","springbokatlas.com","stashrewards.com","hotels.hotelbonanza.com","staycation.co","trade.switzerlandtravelcentre.ch","szallas.hu","tablethotels.com","tailorbeds.travel","tboholidays.com","thesqua.re","thompsonsafrica.com","tidesquare.com","tiket.com","tomas.travel","tourbobo.com","txa.com.au","txgb.co.uk","txi.co.id","tourismexchangeusa.com","tourvestdm.com","traveloka.com","travelperk.com","travelstay.com","solutions.travelzoo.com","tripadeal.com.au","tripadvisor.com","tripmakery.com","reservedirect.com","tuigroup.com","tumlare.com","vacatia.com","vacayhomeconnect.com","verwoehnwochenende.de","verychic.com","aramon.com","viajeselcorteingles.es","viajesolympia.com","voordeeluitjes.nl","webbeds.com","weekendesk.fr","weekendjeweg.nl","whistler.com","wilderness-safaris.com","wink.travel","w2m.travel","en.xeniahs.com","yonda.com.au","campingfrance.com","vio.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","oyorooms.com","zenithoteles.com","booking.zenithoteles.com","bookingcoruna.zenithoteles.com","edreams.es","edreams.fr","edreams.cz","edreams.de","edreams.es","edreams.gr","edreams.com","edreams.it","edreams.pt","edreams.ch","edreams.com.tr","edreams.co.uk","edreams.com.ar","edreams.com.mx","edreams.pe","edreams.com.au","edreams.hk","edreams.in","edreams.jp","edreams.ph","edreams.co.kr","edreams.tw","edreams.ma","edreams.qa","edreams.sa","edreams.net","hu.edreams.com","nl.edreams.com","ro.edreams.com","cl.edreams.com","co.edreams.com","cn.edreams.com","id.edreams.com","nz.edreams.com","sg.edreams.com","th.edreams.com","za.edreams.com","ca.edreams.com"]),Gf=new Set(["skyscanner.es","skyscanner.it","skyscanner.com","traveloka.com","flightaware.com","skyscanner.net","kiwi.com","cleartrip.com","klook.com","tourscanner.com","getyourguide.com","getyourguide.co.uk","viator.com","civitatis.com","nomadicmatt.com","lonelyplanet.com","thepointsguy.com","worldpackers.com","theculturetrip.com","travel.usnews.com","timeout.com","roughguides.com","travelandleisure.com","cntraveler.com","shetravelledtheworld.com","thesoloist.travel","globe-gazers.com","skift.com","phocuswire.com","phocuswright.com","aa.com","southwest.com","ryanair.com","delta.com","united.com","latamairlines.com","ana.co.jp","jal.co.jp","wizzair.com","aviasales.ru","aircanada.com","jetblue.com","britishairways.com","turkishairlines.com","qatarairways.com","emirates.com","flyfrontier.com","spirit.com","alaskaair.com","goindigo.in","lufthansa.com","airasia.com","jetstar.com","qantas.com","voeazul.com.br","flypgs.com","skyscanner.co.in","avianca.com","cheapoair.com","cebupacificair.com","volaris.com","iberia.com","skyscanner.de","justfly.com","voegol.com.br","vivaaerobus.com","singaporeair.com","flightstats.com","aeroflot.ru","vueling.com","transavia.com","allegiantair.com","aeromexico.com","airfrance.com","cathaypacific.com","etihad.com","koreanair.com","swiss.com","virginatlantic.com","finnair.com","airchina.com","saudia.com","malaysiaairlines.com","garuda-indonesia.com","thaiairways.com","austrian.com","klm.com","csair.com","egyptair.com","airindia.in","brusselsairlines.com","latam.com","flysas.com","omanair.com","alitalia.com","airnewzealand.com","virginaustralia.com","aerlingus.com","copaair.com","flytap.com","royalairmaroc.com","lot.com","westjet.com","hawaiianairlines.com","norwegian.com","aegeanair.com","csa.cz","airmauritius.com","rwandair.com","rj.com","uzairways.com","fijiairways.com","ethiopianairlines.com","caribbean-airlines.com","airbaltic.com","flyasiana.com","airseychelles.com","airmalta.com","vietnamairlines.com","elal.com","juneyaoairlines.com","airastana.com","azal.az","airserbia.com","airdolomiti.eu","airtahitinui.com","biman-airlines.com","airtransat.com","airarabia.com","airgreenland.com","kenya-airways.com","aireuropa.com","sunexpress.com","flyroyalbrunei.com","airzimbabwe.aero","airtanzania.com","airmacau.com.mo","airvanuatu.com","airnamibia.com","airbotswana.co.bw","airtahiti.com","airniugini.com.pg","airmadagascar.com","airburkina.com","airalgerie.dz","air-austral.com","ticketmaster.com","stubhub.com","livenation.com","seatgeek.com","axs.com","vividseats.com","ticketnetwork.com","eventbrite.com","ticketek.com","ticketcity.com","ticketliquidator.com","ticketfly.com","goldstar.com","bigstub.com","ticketweb.com","gametime.co","tickpick.com","eventim.com","frontgatetickets.com","tickets.com","ticketiq.com","scorebig.com","ticketreturn.com","brownpapertickets.com","ticketmaster.com/resale","flashseats.com","ticketatlantic.com","ticketmaster.eu","eventim.eu","seetickets.com","stubhub.co.uk","festicket.com","skiddle.com","gigantic.com","dice.fm","ticketweb.eu","eventbrite.co.uk","ticketline.co.uk","theticketfactory.com","ticketswap.com","tickettailor.com","billetto.co.uk","residentadvisor.net","ticketabc.com","myticket.co.uk","biggreencoach.co.uk","ents24.com","ticketea.com","entradium.com","elcorteingles.es/entradas","ticketmaster.es","redentradas.com","fnacspectacles.com","billetterie.auchan.fr","digitick.com","francebillet.com","ticketmaster.fr","ticketone.it","vivaticket.it","ticketone.club","boxol.it","ticketmaster.it","eventim.de","ticketmaster.de","reservix.de","adticket.de","ticketmaster.co.uk","ticketweb.uk","xceed.me","viagogo.es","viagogo.fr","viagogo.it","viagogo.com","viagogo.de","viagogo.au","viagogo.ca","viagogo.be","viagogo.dk","viagogo.gr","viagogo.com.mx","viagogo.no","viagogo.ru","viagogo.se","viagogo.co.uk","songkick.com","entradas.com","feverup.com","thefork.es","opentable.com","resy.com","yelp.com","bookatable.co.uk","thefork.com","eatwith.com","exploretock.com","zomato.com","dineout.co.in","opentable.co.uk","opentable.fr","opentable.de","opentable.it","opentable.es","opentable.com.au","bookatable.de","bookatable.com","bookatable.se","bookatable.dk","bookatable.no","lafourchette.com","eltenedor.es","thefork.it","thefork.ch","thefork.be","zomato.ae","zomato.com.ph","adyen.com","checkoutshopper-live.adyen.com","egencia.co.uk","concur.com","amexglobalbusinesstravel.com","tripactions.com","mycwt.com","egencia.com","travelperk.com","travelctm.com","fcmtravel.com","hrgworldwide.com","amtrav.com","upside.com","lola.com","sabre.com","roomsxml.com","hotelbeds.com","travelport.com","corporate-travel-agents.com","trapezegroup.com","ctsbus.com","onetravel.com","merlinsoftware.com","uatptravel.com","travelvisapro.com","bcdtravel.com","prismtech.com","travelexperts.com","amadeus.com","trip.com","ganttravel.com","flightcentre.com","traveldoo.com","flightglobal.com","matrix.itasoftware.com","corptrav.com","renfe.com","sncf-connect.com","bahn.de","amtrak.com","trenitalia.com","eurostar.com","eurostarshotels.com","thalys.com","czechrailway.cz","rzd.ru","viazul.cu","sbb.ch","transperth.wa.gov.au","flytoget.no","sj.se","gwr.com","vr.fi","lner.co.uk","chilternrailways.co.uk","translink.co.uk","eastmidlandsrailway.co.uk","westmidlandsrailway.co.uk","scotrail.co.uk","tpexpress.co.uk","c2c-online.co.uk","southwesternrailway.com","merseyrail.org","northernrailway.co.uk","tfw.wales","crosscountrytrains.co.uk","heathrowexpress.com","gautrain.co.za","tgv-lyria.com","wmr.uk","gdyniakolejurbanska.pl","trapezecatering.com.pl","sncb.be","cp.pt","ns.nl","flixbus.com","greyhound.com","megabus.com","busticket.com","redcoachusa.com","nationalexpress.com","peterpanbus.com","boltbus.com","gogobus.com","redbus.com","busbud.com","wanderu.com","omio.com","bus.com","eurolines.com","berlinlinienbus.de","greyhound.ca","buseireann.ie","translink.ca","matthews.ie","stagecoachbus.com","arriva.co.uk","tfl.gov.uk","nationalbus.ie","ryanair.com/ie/en/plan-trip/explore/flight-deals-and-sales","terravision.eu","expressairportbus.com","airportshuttle.it","airportbustransfers.co.uk","nxbus.co.uk","easybus.com","shuttlebus.co.uk","flybus.is","aerobusbcn.com","marcosautolineas.com.mx","ado.com.mx","unicobus.com","luxexpress.eu","transnasional.com","reservation.barcelo.com","reservations.cubilis.eu","venta.renfe.com","waynabox.com","rentalcars.com","hertz.com","enterprise.com","priceline.com","turo.com","expedia.com","alamo.com","avis.com","nationalcar.com","sixt.com","foxrentacar.com","dollar.com","thrifty.com","orbitz.com","travelocity.com","autoslash.com","getaround.com","zipcar.com","rentcars.com","carrentals.com","vipcars.com","budget.com","drivekyte.com","autorentals.com","europcar.com","hotwire.com","autoeurope.com","rental24h.com","sixt.de","paylesscar.com","easyrentcars.com","economycarrentals.com","booking.com","nipponrentacar.co.jp","unidas.com.br","movida.com.br","yolcu360.com","timescar.jp","rentalcars.de","keddybyeuropcar.com","discovercars.com","economybookings.com","rentalmoose.com","roadsurfer.com","doyouspain.com","okmobility.com","goldcar.es","location.leclerc","orix.co.jp","blablacar.com","holidayautos.com","hertz.com/goldplusrewards","skyscanner.net/car-rental","rentalcarsconnect.com","rentacar.com","carrentals.co.uk","happycar.com","indigocarhire.co.uk","zoomcar.com","easirent.com","flightcar.com","wheels2go.com","discovercarhire.com","carhire.ie","kemwel.com","arguscarhire.com","bargaincarrentals.com.au","fireflycarrental.com","nationalcar.co.uk","autoescape.com","skyscanner.com.au","rentcars.de","vroomvroomvroom.com","travelcar.com","drive-now.com","advantage.com","atlaschoice.com","amigoautos.com","drivy.com","enterprise.co.uk","europcar.co.uk","greenmotion.com","interrent.com","irelandcarhire.com","islandcarrentals.com","checkout.novasol.com","americanexpress.com","amextravel.com","global.americanexpress.com","safekey-2.americanexpress.com","priceless.com","exoticca.com","thetrainline.com","paynow.meininger-hotels.com","web2pay.3cint.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","paynow.meininger-hotels.com","book.meininger-hotels.com","booking.sercotelhoteles.com","sis.redsys.es","reservation.hoteles-silken.com","wheeltheworld.com","capitalone.com","capitalonetravel.com","verified.capitalone.com","online.citi.com","citi.com","cititravel.com","cardbenefits.citi.com","booking.iberostar.com","process-securepay.syspay.com","chatgpt.com","perplexity.ai","gemini.google.com","book-secure.com","secure.booking.com","secure.locationlacannecy.fr","secure.5starshome.com","secure.5starshome.de","secure.5starshome.es","secure.5starshome.fr","secure.ibaia-immobilier.com","secure.ibaia-immobilier.fr","secure.iberian-escapes.com","secure.iberisgroup.com","secure.iberorentapartments.com","secure.ibizarenthouse.com","secure.ibizea.es","secure.idealcostabrava.net","secure.idealhomesrentals.com","secure.idealpropertymallorca.com","secure.ideamenton.fr","secure.ifalquileresbenidorm.com","secure.igloo.scot","secure.ilederelocation.com","secure.ilgabbianoponza.it","secure.iloftmalaga.be","secure.iloftmalaga.com","secure.immo-phoenix.ch","secure.immobadiaroses.com","secure.immobiliarialola.com","secure.immobilien-sonja-moyses.com","secure.immobiliervillajosephine.fr","secure.immodreams.fr","secure.immoplage.com","secure.immosol.fr","secure.immoval.com","secure.impals.cat","secure.indarra-experience.com","secure.indigoholidays.es","secure.inmo-campomar.com","secure.inmobiliariacanovas.com","secure.inmobiliariaencullera.es","secure.inmodreamcalpe.com","secure.inmomaspinell.com","secure.inmoriquelmealquiler.com","secure.inmosantos.com","secure.inmoveraplaya.com","secure.innkeeper.pt","secure.innlov.com","secure.innmallorca.com","secure.innovamenorca.com","secure.inoutargentina.com","secure.inoutstays.com","secure.intempobooking.com","secure.interimmoroses.com","secure.invalencia.es","secure.iracemaimoveis.com","secure.isdreamvacations.com","secure.islacanelatours.com","secure.itsolutions.es","secure.ivacationvillas.gr","secure.ivy.vacations","secure.javeaholidayrentals.com","secure.javeaholidays.com","secure.journeywestcolorado.com","secure.jsrentals.es","secure.jsvillas.com","secure.justforyouholidayhomes.co.uk","secure.justrentmarbella.com","secure.sainttropezresidence.com","secure.salaagencyllc.com","secure.selektiarentals.com","secure.serneholtrentals.com","secure.serviplaya.com","secure.sevillaalquila.com","secure.shortlet-london.com","secure.shortletrentals.com","secure.shortstaystandrews.co.uk","secure.shorttermpropertymanagement.co.uk","secure.so.villas","secure.vacanceole.com","secure.797holidayrentals.com","secure.failte.fr","secure.familyvillarentals.com","secure.fanalholidayhomes.com","secure.favilletours.com","secure.feeldiscovery.com","secure.feelhome.co.il","secure.feelingitaly.com","secure.feelporto.com","secure.feelslikehome.pt","secure.feriendomizil-greetsiel.de","secure.feriendorfkoralpe.at","secure.ferienhaus-greetsiel.eu","secure.ferienhausmietenempuriabrava.com","secure.ferienhausmietenrosas.com","secure.ferienhausvermietung-greetsiel.de","secure.ferienwohnungen-kaprun.eu","secure.ferienwohnungen-laguna.de","secure.ferienwohnungen-zellamsee.eu","secure.ferienwohnungengardasee.it","secure.fidalsaholidays.com","secure.fincabuchung.com","secure.fincacontrabando.com","secure.fincahit.com","secure.fincamallorca.de","secure.fincamallorca.rentals","secure.fincas-balear.com","secure.fincasarena.com","secure.fincasarena.es","secure.fincasmallorcacharme.com","secure.fincasmaritimplaya.com","secure.finestrentals.com","secure.finestretreats.co.uk","secure.finquesballesta.com","secure.firstlidays.com","secure.flandresapparthotel.fr","secure.flashstay.com","secure.flateli.com","secure.flatguestholidays.com","secure.flatsforyou.com","secure.flatsfriends.com","secure.flatteredapartments.com","secure.floc.co.id","secure.floritflats.com","secure.fmhome.com.br","secure.foryourentals.com","secure.fourseasons-kaprun.com","secure.fourteenatmulletbay.com","secure.freelancevillas.com","secure.fregatte-wangerooge.de","secure.fresh-escapes.com","secure.gaesteservice-wattenmeer.de","secure.gardadomusmea.it","secure.gardafewo.com","secure.geographica.com.mx","secure.gerescasas.com","secure.gescav.com","secure.gestaodealojamentolocal.pt","secure.gite-urbain.fr","secure.gites-dieppe-varengeville.com","secure.glasgowcityflats.com","secure.globalplano-travel.com","secure.globalplanotravel.com","secure.globalrentalhub.com","secure.globalvacacional.com","secure.gloove.me","secure.gloriasuites.com","secure.go2benidorm.com","secure.godonosti.com","secure.goldenleafproperties.com","secure.goldenvillas.pt","secure.goodplaceapartments.co.uk","secure.grahamholidayrentals.com","secure.granadabeachgolf.com","secure.grancanariastays.com","secure.green-apartments.net","secure.greenlodge.it","secure.greenvacations.pt","secure.grimminglofts.at","secure.gthouse.pt","secure.gtrip.gr","secure.guest365.co.uk","secure.gvibiza.com","secure.p-kreativ.at","secure.pacaconciergerie.com","secure.palacioderojas.com","secure.palmasbnb.com.br","secure.palmesdor-properties.com","secure.pam-villas.com","secure.pangeaholiday.com","secure.panoramicliving.pt","secure.parque-montroig.com","secure.patiosdumarais.com","secure.pcferias.pt","secure.penareia.tur.br","secure.peoplerentals.com","secure.peoplerentals.es","secure.peoplerentals.fr","secure.pferdaufwolke.com","secure.pineapples.com.br","secure.pinoalto.com","secure.pinzoloholidays.com","secure.pixelpoint.at","secure.planetcostadorada.com","secure.playa-dor.com","secure.playa-vacaciones.com","secure.pollensainvest.com","secure.pollentiarentals.com","secure.poluhawaiivacations.com","secure.ponzaviaggi.it","secure.popularvillas.com","secure.popularvillas.pt","secure.portfolio-plus.pro","secure.porticvillas.com","secure.porticvillas.de","secure.porticvillas.es","secure.porticvillas.nl","secure.portopiccoloapartments.com","secure.portsidelodge.com","secure.portucasa.com","secure.portucasa.de","secure.portucasa.nl","secure.portucasa.pt","secure.portugalactive.com","secure.portvil-villas.com","secure.posadaelconvento.com","secure.premiere-conciergerie.com","secure.premierholidayrentals.com","secure.premiumsaisonnier.fr","secure.prescottcabinrentals.com","secure.presidence.rentals","secure.presquiledequiberon.com","secure.prestige-gestion.fr","secure.prestige-vacations.com","secure.prestigevilla.rentals","secure.prestigevillarental.com","secure.primestay.ae","secure.primhomerentals.com","secure.priorityvillas.com","secure.privatehomeinparis.com","secure.privatevillaspollensa.com","secure.promenadeholiday.com","secure.propcostbarths.com","secure.puertoviejoclub.com","secure.puravillas.com","secure.qtur.pt","secure.quartierhomesuites.com","secure.quintadosvales.pt","secure.quintarentals.com","secure.wangeroogehaus.de","secure.washingtongreatescapes.com","secure.waterfrontmalaga.com","secure.we-rent-apartments.com","secure.webvillas.es","secure.webvillas.fr","secure.webvillas.net","secure.webvillas.nl","secure.webvillasferien.de","secure.weekeyrentals.com","secure.wehostmadeira.com","secure.welcome-guest.com","secure.welcometocannes.fr","secure.welcs.app","secure.weloveportugal.com","secure.welovetourismlanzarote.com","secure.wengenapartments.com","secure.westayhome.pt","secure.white-sand-travel.com","secure.whitehorizonservices.com","secure.wilderer.group","secure.winsome-destination.com","secure.wintowinrentals.com","secure.wonderwheretostay.com","secure.woodypark.at","secure.wowhomes.ch","secure.wplink.dev","secure.xestas.com","secure.xn--apartamentospeiscola-h7b.es","secure.yellowkeycapital.com","secure.yourbanflat.com","secure.yourbestapartment.com","secure.yourdreamhome.es","secure.yourholidayspain.com","secure.yourhousemallorca.com","secure.yourislandvillas.com","secure.yourlettingsuk.com","secure.youropo.com","secure.youropoapartments.com","secure.a-appartments.com","secure.a2dportfrejus.com","secure.aaholidayhomes.com","secure.absolut-apartments.com","secure.ac-gestion.es","secure.activosinteligentes.com","secure.adam-behrens-rental.com","secure.aday-booking.com","secure.aderferias.com","secure.admer.net","secure.adopteuntoitlocationsaisonniere.com","secure.adrestate.com","secure.affittibreviitalia.com","secure.affittimoderni.it","secure.agence-backstage.com","secure.agence-re-immo.com","secure.agencecapsulecorp.com","secure.agencelalandaise.com","secure.agencemaconciergerie.com","secure.ahlandxb.com","secure.ahomeinmadeira.pt","secure.ahrentals.es","secure.aiguaneu.com","secure.aireholidays.com","secure.akilehomes.com.br","secure.al-tentico.com","secure.alaparisienne.com","secure.albirconfort.es","secure.alegria-rent.com","secure.alfrescostays.com","secure.algarve-lifestyle.com","secure.algarvegoldenproperties.com","secure.algarveholidaylets.com","secure.algarveholidays.pt","secure.algarvemanta.pt","secure.algarveprivatevillas.com","secure.algarvevacation.net","secure.algarvevillaholidays.co.uk","secure.alhvacay.com","secure.alicante-holiday.com","secure.all-innature.com","secure.allovendee-vacances.fr","secure.allurevillas.com","secure.ally-re.villas","secure.aloha-florida-vacation-rental.com","secure.alpenstolz-damuels.at","secure.alpesimmobilier.com","secure.alpeslocation.com","secure.alpinahome.fr","secure.alpinapartments.at","secure.alpineholidayservices.ch","secure.alpineinspirations.com","secure.alps-residence.com","secure.alps-resorts.com","secure.alpvisionresidences.com","secure.alquileresdeniasol.es","secure.alquilereslg.com","secure.alquilervacationescostabrava.com","secure.alquilervacationesempuriabrava.com","secure.alquilervillascalpe.com","secure.alquilisimo.com","secure.alquilosa.com","secure.alquitur.es","secure.alterhome.com","secure.alterhome.es","secure.altipik.ch","secure.alugueltemporadagramado.com.br","secure.alwayseasyrental.com","secure.amazinnplaces.com","secure.ambriavacations.com","secure.amicidelpo.com","secure.amorerentals.com","secure.anacasa.es","secure.anadelsurproperties.com","secure.ancarraiglodges.com","secure.anciaholidayrentals.com","secure.andarlibre.com","secure.anfitriaoprime.com.br","secure.anfitrioesdealuguel.com.br","secure.angelservices.fr","secure.apart-rent.es","secure.apartamentos-alcoceber.es","secure.apartamentos-gandia.com","secure.apartamentoscostaluz.com","secure.apartamentosensol.com","secure.apartamentosestartit.com","secure.apartamentosfinestrat.com","secure.apartamentoslacomarca.com","secure.apartamentosreyescatolicos.com","secure.aparteasy.com","secure.apartment-birkhoefl.at","secure.apartmentmanagers.at","secure.apartments2be.com","secure.apartup.com","secure.apartview.pl","secure.apexaccommodation.ie","secure.apivend.immo","secure.appartement-katharina.at","secure.appartement-sulzer.com","secure.archipelevasion.com","secure.arcosfairways.com","secure.arenainnalquilerlamanga.com","secure.arendacostadorada.com","secure.argenhost.com.ar","secure.astburyformentera.es","secure.astenrealty.es","secure.aterian.eus","secure.athomecostadelsol.com","secure.atlanticholiday.net","secure.atlanticholidayrentals.com","secure.attitudeservices.com","secure.auroraestatesllc.com","secure.auroramountainchalet.at","secure.austrianalpinegetaways.com","secure.authentic-stay.fr","secure.avanoapremiumrentals.com","secure.avantio.com","secure.avantio.dev","secure.avantio.online","secure.avantio.world","secure.avoriazchalets.com","secure.axialmanagement.com","secure.azorestouch.com","secure.azur-camping.com","secure.easygoholidayhomes.com","secure.easywelcome.it","secure.ecoibiza.com","secure.ecomarcalpevacances.com","secure.edenrentals.es","secure.edensdubai.com","secure.edenshomes.com","secure.edgaretalfred.com","secure.egona.eus","secure.ehmmt.com","secure.eivillas.com","secure.eivillas.fr","secure.elite-rentals.net","secure.elsmajordoms.com","secure.elvi.fr","secure.emmasvacationrentals.com","secure.engadin-booking.ch","secure.envilleapartments.com","secure.erentals.pl","secure.ericeirarealestate.pt","secure.escandi.es","secure.escapehome.com","secure.escapelux.com","secure.espace-vacances.ch","secure.espana-holiday.com","secure.espatur.net","secure.estadiacarioca.com.br","secure.estate4home.com","secure.estea-rentals.com","secure.etoiles-du-sud.com","secure.euroapartlafosca.com","secure.exclusiveagencyrentals.com","secure.exclusiveagencyrentals.fr","secure.exoimmo-marbella.com","secure.expertbook.ma","secure.m2malaga.com","secure.ma-conciergerie-en-occitanie.fr","secure.mabaat.com","secure.macaronesianrent.es","secure.madeirasuntravel.com","secure.madflats.es","secure.maduholiday.com","secure.mairetrentals.com","secure.maisondoc.it","secure.majorcans.es","secure.malagadevacaciones.com","secure.malagaflat.com","secure.malagasuite.com","secure.malagasunapartments.com","secure.mallorca-myhome.com","secure.mallorca4rent.com","secure.mallorcaholidayproperties.com","secure.mallorcanorthvillas.com","secure.mallorcaurbangroup.com","secure.mallorcavillaselection.com","secure.marbellamountainresorts.com","secure.marbellavillage.es","secure.maremmalink.it","secure.masfumats.com","secure.mautervillas.co.uk","secure.mautervillas.com","secure.mautervillas.de","secure.mautervillas.es","secure.mautervillas.fr","secure.mc-fincas.de","secure.mediterraneanlettings.com","secure.mediterrarentals.com","secure.mendozabooking.com","secure.menobnb.com","secure.mercileon.fr","secure.metliving.pt","secure.mflets.com","secure.miamiworldrental.com","secure.mikassun.com","secure.militaryfirstbnbsolutions.com","secure.mimosa.villas","secure.mimosaholiday.com","secure.mimosaholiday.eu","secure.mindfitholidays.com","secure.minhosguest.com","secure.miramarcambrils.com","secure.mishasplace.pt","secure.mithouse.es","secure.mnkvillas.com","secure.mojorentals.es","secure.monlogementenpoitou.fr","secure.mountain-base.com","secure.mrlanzarotevillas.com","secure.ms-euronat.eu","secure.muchosol.com","secure.murciaholidayrentals.com","secure.musestravel.com","secure.myalgarverentals.com","secure.mybnbtahiti.com","secure.mycabinrentals.net","secure.mycanariandream.com","secure.mychoice.pt","secure.mycityhome.es","secure.mydubaistay.com","secure.myflatinnice.com","secure.mygardaholiday.com","secure.mygreekvacations.com","secure.myholidaysinsardinia.com","secure.myhome.holiday","secure.myhomedolomiti.it","secure.myhomemallorca.es","secure.myhomesorrento.com","secure.mynice-vacances.fr","secure.myportugalexperience.com","secure.mystayinn.com","secure.myvillaselection.com","secure.mzvillas.com","secure.1001-nuits-maroc.com","secure.11holidayhomestenerife.com","secure.1roomnow.com","secure.25sweetdreams.com","secure.baliexception.com","secure.barilocherentahouse.com","secure.barneda-roses.com","secure.barnes-portesdusoleil.com","secure.baronholidayhomes.com","secure.barraprime.pt","secure.bartleholidays.co.uk","secure.basquelidays.com","secure.basquestay.com","secure.basshousing.com","secure.bcnap.es","secure.be-vacational.com","secure.beachfrontapartment.eu","secure.beachhousesvalencia.es","secure.beathome.pt","secure.bebreeze.com","secure.bedsandbreaks.com","secure.beguest.pt","secure.beleefmalaga.nl","secure.bella-chesa.ch","secure.bellmon.com","secure.bemyguest-lacanau.com","secure.benalcoastproperties.com","secure.benidormbooking.com","secure.benidormparaiso.com","secure.benidormrentals.com","secure.benneckerent.com","secure.benneckerent.es","secure.bergkultur.ch","secure.bergundbett.ch","secure.berninihouse.com","secure.bestbooking-villas.com","secure.besthousesportugal.com","secure.bestoftuscany.com","secure.bestveniceapartments.com","secure.blauhousealquileres.com","secure.bmyguest.pt","secure.bnbgroomservices.com","secure.bnbholder.com","secure.bog.com.ar","secure.book247.online","secure.bookadriatic.com","secure.booking-guys.com","secure.booking-homeykey.com","secure.bookingalsace.com","secure.bookinggardalake.it","secure.bookingnests.at","secure.bookirentals.com","secure.boucanet-immobilier.com","secure.bravarentals.com","secure.bretagne-vacances.com","secure.bruimmobilier.fr","secure.brunet9.com","secure.btb.es","secure.bucketlistvilla.com","secure.buenavidarentals.com","secure.buyalgarveproperties.com","secure.bytheseaholidays.ie","secure.cabopinoproperty.com","secure.cadenzalux.com","secure.cadiz4rentals.com","secure.caletahomes.com","secure.calmoapartments.com","secure.calmwaterrentals.com","secure.calpe-home-sales.com","secure.calpe-rent-apart.com","secure.calpe-rent-apart.fr","secure.calpe-rent-apart.nl","secure.camperahotel.com","secure.camping-chalets-orlu.com","secure.caraibesconciergerielocation.com","secure.careconcierge.fr","secure.caribasol.com","secure.caribbean-vacationrentals.com","secure.carmenrentals.es","secure.cartagenacosta.com","secure.casa-redonda.ch","secure.casacorsabooking.com","secure.casafuera.co.uk","secure.casafuera.de","secure.casafuera.es","secure.casaruralmallorca.es","secure.casasdelcaribe.com","secure.casaseferias.com","secure.casidias.com","secure.casitascanarias.com","secure.casitatravel.com","secure.casitatravel.nl","secure.castlemartyrholidaylodges.ie","secure.sancy-immobilier.com","secure.sansebastianholidayrentals.com","secure.sanseholidays.com","secure.sansofestay.com","secure.sapvilamoura.com","secure.saval.cat","secure.savapartments.com","secure.savemybedbooking.com","secure.sealandvillas.com","secure.seapartamentos.pt","secure.seaview.es","secure.secondnest.com","secure.seewest-rentals.pt","secure.sejour-maroc.com","secure.sejourabiarritz.com","secure.sejourabordeaux.com","secure.sejourabrive.com","secure.selectiongites.com","secure.selectionholidayrentals.com","secure.serviceforyourhome.eu","secure.sicilyforeverybody.com","secure.sicilyluxuryclub.com","secure.sicilymyhome.com","secure.silhouse.es","secure.silvercoasthospitality.com","secure.singularrents.com","secure.sitgeshillsvillas.com","secure.skiwp.com","secure.slowvillas.com","secure.slumberspokane.com","secure.smaac-amalficoast.com","secure.smartavillas.com","secure.smartbnb.immo","secure.smarthomes.rentals","secure.smartstay.fr","secure.smilingrentals.eus","secure.smilorentals.travel","secure.smnerjarentals.com","secure.snowandtrek-morzine.com","secure.snowincluded.com","secure.solaga.co.uk","secure.solaga.dk","secure.solaga.es","secure.solaga.fr","secure.solaga.se","secure.soldeuparadise.com","secure.solhabitat.com","secure.solis-porec.com","secure.solrentals.es","secure.solyvillas.com","secure.sonnevillas.com","secure.sorrentodreams.com","secure.spa-apartments.at","secure.spa-apartments.com","secure.spainpromo.com","secure.spainsunrentals.com","secure.spainvillasresort.com","secure.sparecrib.com","secure.sperlongaresort.com","secure.sperlongaresort.it","secure.st-endreol.com","secure.standrewsproperty.co","secure.star5vacations.com","secure.starmed-locations-espagne.com","secure.stayfirstclass.com","secure.stayinduma.com","secure.stayinn.vacations","secure.stayinromeapartments.com","secure.stayinscarborough.com","secure.stayis.com","secure.staymineralwells.com","secure.staynordic.se","secure.stayshortlets.com","secure.staysignature.co.uk","secure.staysitges.com","secure.steinbock-lodges.at","secure.steramflats.com","secure.steva-rentals.com","secure.strentalpros.com","secure.studioprestige.fr","secure.suite2live.com","secure.suitedreams.es","secure.suitehomes.es","secure.suitesdellago.com","secure.suncoasterholidays.com","secure.sunnyhomes.es","secure.sunshinehomes.es","secure.sunstars.es","secure.sunvillaescapes.com","secure.sylt-sothebysrealty.com","secure.vacacionesybienestar.com","secure.vacances-briancon.fr","secure.vacances-sete.com","secure.vacances-villas.com","secure.vacancescamargue.com","secure.vacanzes.com","secure.vacationmonarch.com","secure.vacationriverrentals.com","secure.vacationy.pt","secure.vacayplay.com","secure.vakantiewoninghuurempuriabrava.com","secure.vakantiewoninghuurrosas.com","secure.valenciahome.es","secure.valledetena.es","secure.vallee-orlu.com","secure.valmanga.com","secure.vamdays.com","secure.vapholidayrentals.com","secure.varennaholidays.it","secure.varenso.com","secure.vayk.ae","secure.verbierlocation.ch","secure.viajesorange.es","secure.viewsonvenice.com","secure.villa-marrakech.fr","secure.villa.nl","secure.villafymallorca.com","secure.villainpuglia.it","secure.villalia.com","secure.villarentals.gr","secure.villas-riads-marrakech.com","secure.villasandyou.com","secure.villasdecine.com","secure.villasduluberon.fr","secure.villasduma.com","secure.villasexperience.com","secure.villasferrer.com","secure.villasflamenco.com","secure.villasguzman.com","secure.villasholidayscostablanca.com","secure.villaskeyrentals.com","secure.villasmallorca.rentals","secure.villasmar.com","secure.villasmartinique.com","secure.villasmartinique.fr","secure.villasnow.com","secure.villasunited.co.uk","secure.vilvey.com","secure.visionluxe.com","secure.visit-istria.net","secure.vistamarina.pt","secure.vitivola.com","secure.vivalidays.com","secure.vivamilagres.com.br","secure.vivasoltenerife.com","secure.vivi-homes.com","secure.vulperaresort.ch","secure.d4u.house","secure.dalmaportuguesabooking.com","secure.dalmaportuguesarentals.co.uk","secure.dalmaportuguesarentals.com","secure.dalmaportuguesarentals.fr","secure.dalmaportuguesarentals.pt","secure.dalmaportuguesatravels.com","secure.danitalia.com","secure.deihuexperiencias.com","secure.delmarboutique.com","secure.deltavacaciones.es","secure.deluxeoceanproperty.com","secure.deniaplaya.com","secure.desenzanoloft.com","secure.designappart.fr","secure.destination-algarve.com","secure.destination-marbella.com","secure.dickinsonvillas.com","secure.dify.fr","secure.dimoraitalia.com","secure.dimoreinsicily.com","secure.distinctiveportugal.com","secure.diva-apartments.com","secure.dnastudios.pt","secure.dolomiti4u.com","secure.dolomitirentals.com","secure.domusrental.com","secure.dorm4you.com","secure.dormir-a-canet.fr","secure.dormoa.com","secure.dot.holiday","secure.dracmallorca.com","secure.dreamholidaysmallorca.com","secure.dreamhomesrentals.com","secure.dreamplaces.pt","secure.dreamvillaspollensa.com","secure.dssmarthousing.com","secure.dukehost.es","secure.duquesa.net","secure.habitatpuertoviejo.com","secure.hameau-comborciere.fr","secure.happyvila.com","secure.hashtagholidayhome.com","secure.hausandhausholidays.com","secure.hdproperties.pt","secure.hellenhost.com","secure.hellotime.es","secure.hestiaconciergerie.bzh","secure.hitrental.ch","secure.hiveservices.ae","secure.hmrholidays.com","secure.holasur.com.ar","secure.holidayalvor.com","secure.holidaycasa.com","secure.holidaycasa.it","secure.holidayrentals-costabrava.com","secure.holidayrentalsempuriabrava.com","secure.holidayrentalsrosas.com","secure.holidayshomefuerteventura.com","secure.holidaysmenorca.com","secure.holidreamrentals.com","secure.homaholidays.es","secure.home-rental.com","secure.home-riviera.com","secure.home2book.com","secure.homeforguest.com","secure.homeholidays.rentals","secure.homeholidaysforyou.com","secure.homeincalpe.es","secure.homelyhome.es","secure.homeplus-immo.com","secure.homerental.fr","secure.homesofafrica.com","secure.homestorybooking.com","secure.homesud.co.uk","secure.homesud.fr","secure.hometop.it","secure.hometown.ae","secure.homevillas360.com","secure.homing.com.pt","secure.homingbook.com","secure.hommyholidays.com","secure.homyflat.com","secure.hoomy.fr","secure.hopstays.com","secure.horizon.mu","secure.host4u.it","secure.hosticasaproperties.com","secure.hostvalencia.com","secure.hotelpuntaislita.com","secure.hotesvosgeslocations.com","secure.huelvaholiday.com","secure.hundeferien-ostfriesland.de","secure.huskalia.com","secure.huus123.at","secure.laaxhomes.com","secure.labuganvillasanjose.com","secure.laclefdesiles.com","secure.laconciergeriedubassin.com","secure.lagomaggioregroup.com","secure.lagomaggioreservice.com","secure.lagovacanze.com","secure.laguna-apartamenty.pl","secure.lakeanditaly.com","secure.lakecomostays.com","secure.lakeidro.com","secure.lakeviewvacationrentals.com","secure.lamerhomes.com","secure.lampo.it","secure.landhauskaprun.at","secure.landhauskaprun.com","secure.landhouseholidays.com","secure.landhuiskaprun.nl","secure.lanzarotefincas.de","secure.lanzarotehomeexperience.com","secure.lanzarotevacationhomes.com","secure.lapierredejade.fr","secure.laposadadelcandil.com","secure.leieferiebolig.no","secure.lepasduventoux.com","secure.leporteclefs.com","secure.lerepertoire.com","secure.les7lauximmobilierservices.com","secure.lesmaestros.com","secure.lestartit.net","secure.levacoa.com","secure.lifestyleholidaystenerife.com","secure.lightbooking.net","secure.likeapartments.com","secure.likeyourbed.fr","secure.lintendance.com","secure.lisbonnecollection.com","secure.lisbonnecollection.fr","secure.lisbonnecollection.pt","secure.litoral.es","secure.livhomes.gr","secure.livingsantiago.cl","secure.livingtarifa.com","secure.lloguervacancesempuriabrava.com","secure.lloguervacancesroses.com","secure.lloydsclub.es","secure.localrentss.com","secure.localtimmo.com","secure.localtraveling.com","secure.location-saisonniere-nice.com","secure.location-vacance-sainte-maxime.com","secure.location-vacances-saint-florent.com","secure.location-villas-martinique.com","secure.locationendromeprovencale.com","secure.locationlacannecy.com","secure.locations-vacances-serre-chevalier.com","secure.locationsalacle.fr","secure.locationsprestige.com","secure.locationvacances-costabrava.com","secure.locationvacances-empuriabrava.com","secure.lodgenia.travel","secure.lonjasuites.com","secure.losflamencosrentals.com","secure.lospatiosdelpanuelo.com","secure.lovelyhome.es","secure.lovetenerife.rentals","secure.lra-cannes.com","secure.luccaapartmentsandvillas.co.uk","secure.luccabookingholiday.com","secure.luxsolarisrentals.com","secure.luxuryvillasofcyprus.com","secure.luzvillarentals.com","secure.rainbowibizavillas.com","secure.rangeviewrentals.com","secure.realcasadelamoneda.com","secure.realproperties.pt","secure.realrent.co.uk","secure.realrent.es","secure.realrent.fr","secure.rebomaholidays.com","secure.redlodgerentals.com","secure.regalbeach.ky","secure.regarda.it","secure.reneauproperties.com","secure.rent-a-holiday-estate.com","secure.rent4rest.com","secure.rental4all.com","secure.rentalgalicia.com","secure.rentalholidayhome.com","secure.rentallorca.com","secure.rentals-by-charles-osborn.com","secure.rentalsbyocc.com","secure.rentalscollection.com","secure.rentalsinalgarve.com","secure.rentalsline.com","secure.rentavillamallorca.com","secure.renters.pl","secure.rentforcomfort.com","secure.rentlikehome.com","secure.rentopolis.net","secure.rentrelax.com","secure.rentup.com.ar","secure.rentuplatam.com","secure.rentvillacyprus.net","secure.rentvillasibiza.com","secure.reservalos.es","secure.reservasacresh.es","secure.reservascasadotempogeres.com","secure.reservasmaspinell.com","secure.reservasveraplaya.com","secure.residebaltic.com","secure.residence-luxe.com","secure.residenceslecci.com","secure.residenceslouis.com","secure.resortchoice.com","secure.resortchoice.es","secure.resortchoice.fr","secure.resortchoice.nl","secure.revadreams.com","secure.reveaumans.com","secure.revedesud.com","secure.reverencevillas.com","secure.riad.com","secure.riad.ma","secure.richstay.ae","secure.rickettsluxury.com","secure.rinconrent.com","secure.riumar-family-resort.de","secure.rivieraholidayhomes.com","secure.rivieraluxuryrentals.com","secure.rlconcierge.pt","secure.robinsoncove.villas","secure.rocharentals.com","secure.rockrentalsvillas.com","secure.roomservicemarbella.com","secure.roomservices.es","secure.roomservices.one","secure.roomstay.ch","secure.roomtorent.es","secure.rose-conciergerie.fr","secure.royalkeypropertiestci.com","secure.royalmaison.ae","secure.run4holidays.com","secure.ubudcanyon.com","secure.ultimate-stay-booking.com","secure.uniqueluxuryholidays.com","secure.unitedrenters.es","secure.universalholidaycentre.com","secure.uplandparcs.com","secure.uplandparcs.de","secure.uplandparcs.nl","secure.urbanflatinparis.com","secure.urbanretreatapartments.com","secure.urbe10.com","secure.zapholiday.be","secure.zapholiday.de","secure.zapholiday.es","secure.zapholiday.nl","secure.zapholiday.uk","secure.zedliving.ae","secure.zellamsee-kaprun-holidays.at","secure.zellamsee-kaprun.co.at","secure.zestandguest.com","secure.zeusapartamentos.es","secure.canariasgetaway.com","secure.cannesrivierarentals.com","secure.canvasandcabins.co.uk","secure.caparicavillas.com","secure.capecoralvacationrentals.com","secure.capnegre-immobilier.com","secure.caribou-lodges.fr","secure.carlosferien.info","secure.carroz-immobilier.com","secure.casafuera.fr","secure.casafuera.nl","secure.casahost.es","secure.casesalento.com","secure.casevacanze-caporizzuto.com","secure.catalanways.com","secure.catalunyacasas.com","secure.cavabajasuites.com","secure.cazul.eu","secure.cbrai.com","secure.cca-property.com","secure.centersuitesantander.com.es","secure.centralhill.pt","secure.century21-metabief-location.com","secure.ceskysight.de","secure.ceskysight.nl","secure.cgnerjarentals.com","secure.chalet-evi.at","secure.chalet-kirchberg.com","secure.chaletresortmontafon.com","secure.chamonix-homes.com","secure.chamonix-prestige.com","secure.chamonixholidays.com","secure.chamroc.com","secure.charmstay.com","secure.chateaucampdelsaltre.nl","secure.check-in-portugal.com","secure.chesa-strimer.ch","secure.chezmoihomes.com","secure.chezmoiluxe.com","secure.cintro.com","secure.cityapartments.rentals","secure.classnatura.com","secure.claudia-homes.com","secure.clickandguest.com","secure.coastalvillas.com","secure.coliseumapartments.es","secure.collineige.com","secure.commonvisual.com","secure.comportavacationhomes.com","secure.conalquiler.com","secure.concedio.com","secure.conciergerie-finistarmor.fr","secure.conciergerie-presci.com","secure.conciergerie-presci.fr","secure.conciergerielintendance.fr","secure.conciergerietyanne.fr","secure.congo-bongo.com","secure.connemaralettings.ie","secure.contacto-mallorca.de","secure.continentaloneservices.com","secure.coolvillasalgarve.com","secure.coroacoroa.com","secure.costa-holidays.com","secure.costa-rental.com","secure.costablancadreams.eu","secure.costactivarentals.com","secure.costaorange.com","secure.costaorange.es","secure.costatropicalvillas.com","secure.cotoon.com","secure.couaroge.com","secure.countryvillaslanzarote.com","secure.crcaribbeanvacation.com","secure.cuboshomes.com","secure.cyprusgolfvilla.com","secure.k3homes.com","secure.kaamah.com","secure.kalkbrenner.ws","secure.kaprun-apartments.at","secure.kaprun-chalets.com","secure.kazaportugal.com","secure.kensingtonrentals.com","secure.keyinnapartments.com","secure.keylodge.fr","secure.keynstay.com","secure.keyonehomes.com","secure.keytoko.homes","secure.khelus.com","secure.klein-rolandseck.de","secure.klodgepm.com","secure.ksuites.co.uk","secure.kx-apartments.com","secure.kyrnovarent.com","secure.nerjaholidayrentals.com","secure.nerjaholidayrentals.de","secure.nerjaholidayrentals.es","secure.nerjaholidayrentals.fr","secure.nerjaholidayrentals.it","secure.nerjaholidayrentals.nl","secure.nerjaholidays.net","secure.nerjaparadiserentals.com","secure.nestor-jeeves.com","secure.niagaraholidayrentals.com","secure.nicolaspisani.com","secure.nievemar.com","secure.no6westcoates.co.uk","secure.noblestay.com","secure.nomadcityflats.com","secure.nordicamarbella.com","secure.nordvillaspollensa.com","secure.northhavenhosting.com","secure.notrechezvous.com","secure.novaconciergerie.com","secure.nuris2u.com","secure.oasisblancmenorca.com","secure.oasisproperties.es","secure.oceanclubholidays.com","secure.ogimmo.fr","secure.ohlalife.es","secure.olalahomes.com","secure.olaliving.es","secure.oldtownsansebastian.com","secure.olivanova.com","secure.oquotidiano.com","secure.orangecosta.com","secure.orangecosta.es","secure.oreotravel.com","secure.oroseiholidays.it","secure.osol.es","secure.otapartments.com","secure.owlbooking.com","secure.tailormadeantigua.com","secure.takeabreakrentals.com","secure.tarracohomes.es","secure.taselodge.nl","secure.temporadacopacabana.com.br","secure.tendencyapartments.com","secure.tenerifesmartrentals.com","secure.teneriffa-helden.de","secure.terravana-locations.com","secure.terravana-locations.fr","secure.tessvacacional.com","secure.tevini.at","secure.thalassabeachresort.com","secure.thauconciergerie.com","secure.the-salisbury.com","secure.thebeachhousepeople.com.au","secure.thefaircompany.fr","secure.thegetawaycollection.com","secure.theislandholidaycompany.co.uk","secure.themaisonprivee.com","secure.themintstay.com","secure.theprive.ae","secure.thequeenshousechueca.com","secure.theresortcyprus.com","secure.thesharingco.com","secure.thespanishconnection.com","secure.thestayresidences.com","secure.thewhiteflats.com","secure.thewhitehomes.es","secure.thinksitges.com","secure.thisisresolute.co.uk","secure.timeandhome.com","secure.tkcavacationrentals.com","secure.tlc-villas-carvoeiro.com","secure.tonistays.com","secure.toothbrushapartments.co.uk","secure.top-kanaren.com","secure.totiaranalquilerbaqueira.com","secure.touristaly.com","secure.tranquilityvillarentals.com","secure.traveldelmar.es","secure.travelhabitat.com","secure.travelhabitat.es","secure.travelingtolisbon.com","secure.travelparadise.fr","secure.travila.es","secure.travilamallorca.com","secure.travivel.com","secure.treasurerome.com","secure.tridentholidayhomes.ie","secure.tripto.se","secure.tropicalhome.fr","secure.tropicalhomesofcostarica.com","secure.tropicalistings.com","secure.trulycyprus.com","secure.tsjechie-travelpartners.nl","secure.tu-finca-mallorca.com","secure.tuapartamento.com","secure.turismar.cat","secure.turismarkmanagement.com","secure.turistcasa.it","secure.tym-conciergerie.com","alsa.es","avanzabus.com","blablacar.cz","blablacar.de","blablacar.co.uk","blablacar.in","blablacar.es","blablacar.mx","blablacar.fr","blablacar.hr","blablacar.hu","blablacar.it","blablacar.nl","blablacar.pl","blablacar.com.br","blablacar.pt","blablacar.ro","blablacar.ru","blablacar.sk","blablacar.rs","blablacar.com.tr","blablacar.com.ua","blablacar.be","app.mews.com","secure.vio.com","static.ga-net.com","be.synxis.com","bookaa.amadeus.com","ecommerce.pestana.com","pestana.com","booking.thehoxton.com","carnival.com","royalcaribbean.com","ncl.com","msccruises.com","princess.com","celebritycruises.com","costacruises.com","hollandamerica.com","disneycruise.disney.go.com","aida.de","pocruises.com","vikingcruises.com","seabourn.com","oceaniacruises.com","azamara.com","rssc.com","silversea.com","cunard.com","crystalcruises.com","windstarcruises.com","hurtigruten.com","tuicruises.com","pgcruises.com","seadream.com","hl-cruises.com","fredolsencruises.com","celestyalcruises.com","ponant.com","starclippers.com","travel.saga.co.uk","tickets.vueling.com","hotel.vueling.com","claude.ai","reservation.mirai.com","es.trip.com","it.trip.com","fr.trip.com","pt.trip.com","reservation.elloha.com","hotel.reservations.hardrock.com","hotel.hardrock.com","iflat.kross.travel","new.rentalsunited.com","destinia.com","pay.syshotelonline.it","secure.mithouse.es","airfrance.fr","airfrance.co.uk","airfrance.de","airfrance.nl","airfrance.es","airfrance.it","airfrance.ch","airfrance.us","airfrance.ca","airfrance.com.mx","airfrance.com.br","airfrance.com.ar","airfrance.com.au","airfrance.cn","airfrance.in","airfrance.jp","airfrance.co.kr","airfrance.co.za","airfrance.ma","airfrance.com.eg","thefork.fr","bookings.safestay.com","secure.adagio-city.com","reservas.vilagale.com","book.omnibees.com","americanairlines.fr","americanairlines.cn","americanairlines.jp","american-airlines.co.kr","americanairlines.com.au","americanairlines.in","americanairlines.cl","americanairlines.co.cr","americanairlines.be","americanairlines.fi","americanairlines.de","americanairlines.ie","americanairlines.it","american-airlines.nl","americanairlines.es","americanairlines.ch","americanairlines.co.uk","reservas.hyattinclusivecollection.com","bookings.hyattinclusivecollection.com","hyattinclusivecollection.com","getjackblack.com","particleformen.com","booking.thepilgrm.com","reservations.clubquartershotels.com","deepseek.com","chat.deepseek.com","onepagebooking.com","aletto.de","aletto.com","reservations.thedonnaportals.com","guruwalk.com","es.shein.com","shein.com","fr.shein.com","shein.co.uk","shein.com.mx","us.shein.com","eur.shein.com","de.shein.com","it.shein.com","pt.shein.com","pl.shein.com","ch.shein.com","jp.shein.com","ca.shein.com","in.shein.com","ru.shein.co","temu.com","roe.shein.com","br.shein.com","cl.shein.com","ar.shein.com","arg.shein.com","m.shein.com","es.aliexpress.com","aliexpress.com","es.aliexpress.com","fr.aliexpress.com","ru.aliexpress.com","de.aliexpress.com","pt.aliexpress.com","it.aliexpress.com","ar.aliexpress.com","en.aliexpress.com","tr.aliexpress.com"]),Yf="extension-core",Qf=function(e){const t=new Date(e.createdAt);if(isNaN(t.getTime()))throw new Error(`Invalid createdAt date (${e.createdAt}) for config ${e.namespace} (version ${e.namespaceVersion})`);if(t.getTime()>Date.now())throw new Error(`createdAt date (${e.createdAt}) cannot be in the future for config ${e.namespace} (version ${e.namespaceVersion})`);return e}({createdAt:"2026-03-16T12:50:25.000Z",namespace:Yf,namespaceVersion:2,data:{domainBlacklist:Array.from(Hf),secondaryOtas:Array.from(Kf),otherTravelSites:Array.from(Gf)}});var Wf=o(910);class Jf extends Error{expected;actual;constructor(e,t){super(`Checksum does not match (expected: ${e}, actual: ${t})`),this.expected=e,this.actual=t,this.name="ChecksumError"}}async function Zf(e){const t=Wf(e);if(!t)throw new Error("Failed to canonicalize config data for checksum calculation");const o=(new TextEncoder).encode(t),n=await crypto.subtle.digest("SHA-1",o);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,"0")).join("")}const Xf="directoCoreRemoteConfig";const eg=async function(){return{...Qf,checksum:await Zf(Qf)}}();let tg=Promise.all([async function(){const{[Xf]:e}=await chrome.storage.local.get(Xf),t=qt(e);if(!t)return null;if(t.namespace!==Yf)throw new Error(`Unexpected config namespace '${t.namespace}', expected '${Yf}'.`);if(2!==t.namespaceVersion)throw new Error(`Unexpected namespace version '${t.namespaceVersion}', expected '2'.`);if("string"!=typeof t.createdAt)throw new Error("Invalid config: createdAt must be a string.");if("string"!=typeof t.checksum)throw new Error("Invalid config: checksum must be a string.");if("object"!=typeof t.data||null===t.data||Array.isArray(t.data))throw new Error("Invalid config: data must be an object.");const o=new Date(t.createdAt);if(isNaN(o.getTime()))throw new Error("Invalid config: createdAt must be a valid date string.");const n={namespace:t.namespace,namespaceVersion:t.namespaceVersion,createdAt:t.createdAt,checksum:t.checksum,data:t.data};return{validatedConfig:await async function(e){const t=await Zf({createdAt:e.createdAt,namespace:e.namespace,namespaceVersion:e.namespaceVersion,data:e.data});if(t!==e.checksum)throw new Jf(e.checksum,t);return e}(n),createdAtDate:o}}().catch(e=>(console.error("Error retrieving stored remote config:",e),null)),eg]).then(([e,t])=>{if(!e)return console.log("No cached remote config found or it was invalid, using embedded remote config"),t;const o=new Date(t.createdAt);return isNaN(o.getTime())?(console.log("Embedded remote config has an invalid date, using embedded config"),t):o>e.createdAtDate?(console.log("Embedded remote config is newer than stored config, using embedded config"),t):(console.log("Loaded remote config from storage:",e.validatedConfig.createdAt),e.validatedConfig)}).then(function(e){return{createdAt:new Date(e.createdAt),namespace:e.namespace,namespaceVersion:e.namespaceVersion,data:{domainBlacklist:new Set(e.data.domainBlacklist),secondaryOtas:new Set(e.data.secondaryOtas),otherTravelSites:new Set(e.data.otherTravelSites)}}});async function og(e){(await Et.checkTabDomainForUrl(e)||await async function(e){try{const t=Za(new URL(e));if("getdirecto.com"===Ja(t))return!t.includes("engine.getdirecto.com");if(function(e){const t=Or(e);return"GOOGLE"===t?function(e){return!!/google\.[a-z.]{2,7}\/(travel\/flights\?)/i.exec(e)||Jh().length>0}(e):null!==t}(e))return!0;const o=await tg,n=await Bf(t),a=o.data.secondaryOtas.has(t),r=o.data.otherTravelSites.has(t);return!!n||a||r}catch(t){return console.error(`Cannot parse URL ${e}`),!1}}(e))&&await async function(){try{let e=null,t={currency:null,checkin:null,checkout:null,adults:null,children:null},o=null,n=null;try{o=Yh.get()}catch(e){}o&&(e=Zh(),t=await af(window.location.href),n=o.platform);const a={platform:n,listing_id:e,user_id:await wa(),user_email:await ja(),url_visited:window.location.href,...t};Et.submitVisit(a)}catch(e){console.error(e),Uf.exception({reason:e.toString()})}}()}async function ng(e){const t=await Et.getConfig(),o=!t.partnerKey,n=Object.assign({...Rf,isDirectoExtension:o},e.platformContentConfig);Yh.initialize(n);const a={partnerKey:t.partnerKey,appVersion:"adunit-2.0.1",getTruesignToken:Mf};oo.initialize(a),no.initialize(a),ro.initialize(a),io.initialize(a),so.initialize(a),co.initialize(a),lf.initialize(e.frontNavigationFactoryConfig);const r=new bi;!function(e,t=500){let o="";!function n(a=""){a!==o&&(e(a),o=a),setTimeout(()=>n(window.location.href),t)}(window.location.href)}(e=>{n.trackVisits&&og(e),function(e,t){const o=function(e){const t=function(e){const t=Yh.get();return t?t.base.getSection(new URL(e)):null}(e);return null===t?"FALLBACK":Tf[t]}(e);Nf.setPlatformRouteName(o,t)}(e,n),ds.initialize(e),r.initialize(e)})}const ag=()=>Go.createElement("svg",{width:"16",height:"16",viewBox:"100 100 260 260",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Go.createElement("path",{d:"M215.164 146.441C212.991 146.564 211.637 146.888 211.133 147.398C210.5 148.042 209.8 148.305 209.503 148.003C209.352 147.851 209.291 147.549 209.324 147.157C209.431 145.881 210.814 144.666 211.077 144.436L214.357 144.011L213.898 143.692C213.898 143.692 214.346 143.266 214.923 142.639L217.778 146.39C217.218 146.385 216.216 146.379 215.158 146.441H215.164Z",fill:"white"}),Go.createElement("path",{d:"M215.063 142.516C216.071 141.408 217.37 139.717 217.253 138.401C216.984 135.44 223.025 134.852 223.086 134.846L223.579 134.801L223.209 134.471C222.941 134.23 222.538 133.732 222.605 133.435C222.633 133.301 222.778 133.195 223.03 133.122C224.212 132.78 225.354 131.229 225.757 130.63L227.375 132.36L230.42 131.616L230.46 131.577C230.46 131.577 231.803 130.3 232.811 129.287C233.074 129.024 233.544 128.872 234.205 128.833C235.269 128.772 236.478 129.035 236.736 129.096L239.456 131.521L239.361 133.799H239.58C240.291 133.816 242.368 134.034 242.564 134.857C242.765 135.703 242.413 138.082 242.491 139.588L234.446 143.614L231.473 145.103L227.056 143.054L226.949 143.166C226.619 143.507 225.88 143.725 224.805 143.787C222.079 143.944 218.042 143.098 218.003 143.093L215.063 142.533V142.516Z",fill:"white"}),Go.createElement("path",{d:"M224.914 145.477C224.93 145.376 224.981 145.23 225.227 145.107C225.535 144.956 226.045 144.861 226.75 144.822C228.267 144.738 230.137 144.945 230.154 144.945L231.442 145.091L222.461 149.586L222.271 149.681C221.09 149.295 220.037 148.83 219.673 148.657C219.752 148.125 219.908 147.627 220.02 147.56C220.02 147.571 220.116 147.632 220.267 147.957C220.502 148.461 221.051 148.69 221.89 148.64C223.492 148.55 225.703 147.481 225.793 147.436L226.073 147.302L225.849 147.089C225.563 146.815 224.835 145.992 224.914 145.471V145.477Z",fill:"white"}),Go.createElement("path",{d:"M212.827 294.736C210.491 294.736 209.188 291.744 211.067 290.049L232.621 275.56L213.537 256.648L218.338 254.248L241.206 267.794L270.419 249.582L282.35 242.144L271.28 231.176L268.304 228.226L236.195 196.403L247.696 190.644L277.862 209.863L286.139 215.137L307.043 228.458L353.715 214.336C360.184 214.336 363.768 222.78 358.343 227.36L319.997 255.045L317.29 281.018L312.575 326.205L301.074 331.958L298.685 308.993L297.786 300.355L296.322 286.308L294.266 266.551L284.202 270.448L249.128 284.021L245.425 310.834L240.624 313.234L238.574 293.52L237.81 286.201L213.392 294.699C213.203 294.736 213.015 294.752 212.837 294.752L212.827 294.736Z",fill:"white"}),Go.createElement("path",{d:"M340.953 165.217C335.422 155.033 328.408 145.618 320.025 137.309L318.973 136.27L326.628 152.396C327.72 154.217 328.529 155.998 329.136 157.697L323.107 153.853L285.304 129.768L267.378 118.343L261.132 121.473C262.205 119.787 263.344 117.885 263.088 117.44L271.397 115.652L271.053 115.315C271.053 115.315 268.598 112.86 269.664 111.046C269.961 110.54 270.858 110.23 272.26 110.149C273.98 110.048 276.064 110.324 277.157 110.493L279.693 110.891L277.285 110C262.42 104.483 246.8 102.008 230.843 102.649C230.02 102.77 229.487 102.932 229.184 103.148C227.707 104.193 225.036 108.294 224.78 108.692C224.422 109.036 208.087 123.091 203.986 123.321C203.427 123.354 202.9 123.3 202.422 123.166L201.572 118.721L201.329 118.748C201.329 118.748 199.636 118.957 198.456 119.024C197.626 119.072 208.917 109.569 208.89 109.555C208.815 109.481 208.6 108.834 208.471 108.193L208.424 107.95L208.181 107.991C208.181 107.991 205.828 108.361 204.816 108.429C205.146 108.018 205.861 107.276 206.947 106.513L208.08 105.718L206.738 106.048C197.094 108.429 187.759 112.024 179.005 116.718L178.937 116.752L178.229 117.993L177.845 119.8L173.144 122.403L174.479 123.928L169.327 128.318L167.404 128.082L164.585 130.686L161.388 131.063L161.665 131.421C162.211 132.142 162.994 133.485 162.744 134.024C162.717 134.085 162.596 134.287 162.063 134.28C159.642 134.247 153.423 140.472 153.16 140.735L152.708 141.193L158.239 141.059L151.467 152.679L148.668 152.49L147.427 155.37L146.834 154.338L144.864 154.453L144.696 151.499L148.351 143.015L145.674 143.17L145.6 143.251C140.373 149.199 135.712 155.687 131.753 162.546L132.178 162.836L138.882 154.588C139.064 154.521 139.658 154.305 140.305 154.271C141.62 154.197 142.295 154.838 142.376 156.24C142.389 156.524 145.343 156.591 147.69 156.652C146.045 156.321 144.453 155.883 144.649 155.384L147.98 156.659C149.37 156.692 150.483 156.733 150.516 156.82C150.59 157.016 150.685 157.124 150.779 157.185C150.3 157.104 149.296 156.955 148.237 156.76L154.671 159.215L160.916 164.887L179.18 167.692L171.593 174.976C171.606 175.091 172.82 185.039 170.487 191.575C168.254 197.82 153.376 204.902 153.524 205.697C153.207 206.385 142.76 212.105 140.622 213.157C138.356 214.27 139.071 217.628 139.307 218.512C138.248 219.085 133.21 221.958 131.821 225.546C131.531 226.295 131.187 226.686 130.809 226.706C129.899 226.76 128.624 224.784 128.037 223.523L127.963 223.361L124.8 223.543L121.016 219.996L118.339 223.665L115.762 224.083V224.515L116.308 233.937C117.887 250.346 122.743 265.986 130.485 280.082C142.342 268.212 127.963 264.678 127.963 264.678C127.963 264.678 121.879 248.747 130.809 250.784C139.745 252.821 142.066 243.19 143.623 241.382L144.008 253.347C144.008 253.347 152.648 249.159 150.408 257.603C148.169 266.047 139.84 258.561 140.541 265.77C141.249 272.98 150.226 277.883 150.226 277.883L144.669 289.443C144.669 289.443 144.568 294.084 144.601 298.663C141.088 299.513 137.742 300.16 134.539 300.646C115.708 278.376 107.756 253.853 107.756 222.404C107.763 151.796 165.01 94.5488 235.625 94.5488C286.1 94.5488 329.737 123.8 350.53 166.269L345.155 167.895L340.96 165.217H340.953Z",fill:"white"}),Go.createElement("path",{d:"M172.045 324.885C188.272 336.269 201.781 339.122 221.346 341.442L222.196 349.569C197.889 347.027 180.731 341.935 162.42 327.717C164.14 327.252 165.894 326.753 167.694 326.213C169.144 325.782 170.601 325.337 172.051 324.885H172.045Z",fill:"white"}),Go.createElement("path",{d:"M105.683 261.211C106.345 260.393 107.125 260.048 107.889 260.048C110.301 260.048 112.561 263.455 110.494 266.022C104.537 273.417 100.021 282.152 102.4 291.866C104.047 298.594 108.858 303.486 114.881 306.618C121.549 310.089 128.814 311.424 136.177 311.424C140.956 311.424 145.773 310.859 150.493 309.955C152.969 309.481 155.423 308.916 157.828 308.286C159.389 307.877 160.928 307.441 162.446 306.989C175.47 303.098 188.269 298.238 201.126 293.831C201.53 293.691 201.907 293.631 202.262 293.631C205.566 293.631 206.659 299.116 202.934 300.391C190.077 304.799 177.279 309.653 164.255 313.55C164.141 313.582 164.028 313.615 163.915 313.647C161.456 314.379 158.953 315.062 156.429 315.665C150.025 317.199 143.448 318.232 136.893 318.232C135.806 318.232 134.718 318.205 133.637 318.146C118.196 317.307 100.263 310.558 95.9416 294.051C92.7017 281.683 98.0728 270.672 105.688 261.211H105.683Z",fill:"white"})),rg={POINTSPATH:{renderLabels:!0,hideOwnOtaLabels:!0,renderSecondaryCTAs:!0,renderAlternativeOffers:!0,customization:{labelSVG:Go.createElement(({width:e="38",height:t="38",viewBox:o="100 100 240 240",fill:n="none",style:a={}})=>Go.createElement("svg",{width:e,height:t,viewBox:o,fill:n,style:a,xmlns:"http://www.w3.org/2000/svg"},Go.createElement("g",{"clip-path":"url(#clip0_539_68)"},Go.createElement("g",{"clip-path":"url(#clip1_539_68)"},Go.createElement("path",{d:"M192.406 142.647C190.81 142.738 189.815 142.976 189.445 143.35C188.98 143.823 188.466 144.017 188.248 143.795C188.137 143.684 188.091 143.461 188.116 143.174C188.194 142.236 189.21 141.343 189.403 141.174L191.814 140.862L191.477 140.627C191.477 140.627 191.806 140.315 192.229 139.854L194.327 142.61C193.916 142.606 193.18 142.602 192.402 142.647H192.406Z",fill:"#11265A"}),Go.createElement("path",{d:"M192.336 139.764C193.076 138.95 194.031 137.707 193.944 136.741C193.747 134.565 198.185 134.133 198.23 134.129L198.592 134.096L198.321 133.853C198.124 133.676 197.827 133.31 197.877 133.092C197.897 132.993 198.004 132.915 198.189 132.862C199.057 132.611 199.896 131.471 200.193 131.031L201.381 132.302L203.619 131.755L203.648 131.726C203.648 131.726 204.635 130.789 205.376 130.044C205.569 129.851 205.914 129.74 206.4 129.711C207.181 129.666 208.07 129.859 208.259 129.904L210.258 131.685L210.188 133.36H210.349C210.871 133.372 212.397 133.532 212.541 134.137C212.689 134.758 212.43 136.506 212.488 137.613L206.577 140.57L204.392 141.665L201.147 140.159L201.069 140.241C200.826 140.492 200.283 140.653 199.493 140.698C197.49 140.813 194.524 140.192 194.495 140.188L192.336 139.776V139.764Z",fill:"#11265A"}),Go.createElement("path",{d:"M199.575 141.939C199.587 141.865 199.624 141.758 199.805 141.668C200.031 141.557 200.406 141.487 200.924 141.458C202.039 141.396 203.413 141.549 203.425 141.549L204.371 141.656L197.773 144.959L197.633 145.029C196.765 144.745 195.992 144.403 195.725 144.276C195.782 143.885 195.897 143.519 195.98 143.47C195.98 143.478 196.05 143.523 196.161 143.762C196.333 144.132 196.737 144.3 197.354 144.263C198.53 144.198 200.155 143.412 200.221 143.379L200.426 143.28L200.262 143.124C200.052 142.922 199.517 142.318 199.575 141.935V141.939Z",fill:"#11265A"}),Go.createElement("path",{d:"M190.687 251.605C188.971 251.605 188.014 249.406 189.394 248.161L205.231 237.516L191.209 223.62L194.736 221.857L211.538 231.81L233.001 218.429L241.768 212.964L233.634 204.905L231.447 202.738L207.856 179.357L216.307 175.125L238.47 189.246L244.552 193.121L259.91 202.908L294.201 192.532C298.954 192.532 301.588 198.736 297.602 202.101L269.428 222.442L267.439 241.525L263.975 274.725L255.525 278.952L253.769 262.08L253.109 255.733L252.033 245.412L250.523 230.896L243.128 233.759L217.358 243.732L214.638 263.432L211.111 265.196L209.604 250.711L209.043 245.333L191.102 251.577C190.964 251.605 190.825 251.617 190.695 251.617L190.687 251.605Z",fill:"#11265A"}),Go.createElement("path",{d:"M284.822 156.443C280.759 148.96 275.605 142.043 269.446 135.938L268.673 135.175L274.297 147.023C275.1 148.361 275.694 149.669 276.14 150.918L271.71 148.093L243.936 130.398L230.764 122.003L226.176 124.303C226.964 123.064 227.801 121.666 227.613 121.339L233.718 120.026L233.465 119.778C233.465 119.778 231.661 117.975 232.444 116.642C232.662 116.27 233.321 116.042 234.352 115.983C235.616 115.908 237.147 116.112 237.95 116.235L239.813 116.528L238.044 115.874C227.122 111.82 215.646 110.002 203.921 110.472C203.317 110.562 202.925 110.68 202.702 110.839C201.617 111.607 199.655 114.62 199.466 114.912C199.204 115.165 187.202 125.492 184.189 125.66C183.778 125.685 183.391 125.646 183.039 125.546L182.415 122.281L182.237 122.301C182.237 122.301 180.993 122.454 180.126 122.504C179.516 122.539 187.811 115.557 187.792 115.547C187.737 115.492 187.579 115.016 187.484 114.546L187.45 114.367L187.271 114.397C187.271 114.397 185.542 114.67 184.799 114.719C185.041 114.417 185.567 113.872 186.364 113.312L187.197 112.727L186.211 112.97C179.125 114.719 172.267 117.36 165.835 120.809L165.785 120.834L165.265 121.746L164.982 123.074L161.528 124.987L162.509 126.106L158.724 129.332L157.311 129.159L155.24 131.072L152.891 131.349L153.094 131.612C153.496 132.142 154.071 133.128 153.887 133.525C153.867 133.569 153.778 133.718 153.387 133.713C151.608 133.688 147.039 138.262 146.846 138.455L146.514 138.792L150.577 138.693L145.602 147.231L143.545 147.092L142.634 149.208L142.198 148.45L140.751 148.534L140.627 146.364L143.312 140.13L141.345 140.244L141.291 140.303C137.45 144.674 134.026 149.441 131.117 154.481L131.43 154.694L136.355 148.633C136.489 148.584 136.925 148.425 137.401 148.401C138.367 148.346 138.863 148.817 138.922 149.847C138.932 150.056 141.102 150.105 142.827 150.15C141.618 149.907 140.448 149.585 140.592 149.218L143.04 150.155C144.061 150.179 144.878 150.209 144.903 150.274C144.958 150.417 145.027 150.497 145.096 150.541C144.745 150.482 144.006 150.373 143.228 150.229L147.956 152.033L152.544 156.2L165.963 158.262L160.389 163.613C160.399 163.698 161.29 171.007 159.576 175.808C157.936 180.397 147.004 185.6 147.113 186.185C146.88 186.69 139.205 190.893 137.634 191.666C135.969 192.483 136.494 194.951 136.667 195.6C135.889 196.021 132.188 198.132 131.167 200.769C130.954 201.319 130.701 201.606 130.424 201.621C129.755 201.66 128.818 200.209 128.387 199.282L128.333 199.163L126.008 199.297L123.229 196.69L121.261 199.386L119.368 199.693V200.01L119.77 206.933C120.929 218.989 124.497 230.481 130.186 240.837C138.897 232.116 128.333 229.519 128.333 229.519C128.333 229.519 123.863 217.815 130.424 219.311C136.989 220.808 138.694 213.732 139.839 212.404L140.121 221.194C140.121 221.194 146.469 218.117 144.824 224.321C143.179 230.525 137.059 225.025 137.574 230.322C138.095 235.619 144.69 239.222 144.69 239.222L140.607 247.715C140.607 247.715 140.533 251.125 140.557 254.489C137.976 255.114 135.518 255.589 133.164 255.946C119.329 239.584 113.486 221.566 113.486 198.459C113.491 146.582 155.552 104.521 207.435 104.521C244.52 104.521 276.581 126.012 291.859 157.216L287.909 158.41L284.827 156.443H284.822Z",fill:"#11265A"}),Go.createElement("path",{d:"M160.722 273.756C172.644 282.121 182.57 284.217 196.945 285.922L197.57 291.893C179.711 290.025 167.104 286.283 153.65 275.838C154.914 275.496 156.202 275.129 157.525 274.733C158.591 274.415 159.661 274.088 160.727 273.756H160.722Z",fill:"#11265A"}),Go.createElement("path",{d:"M111.967 226.973C112.454 226.372 113.027 226.119 113.589 226.119C115.36 226.119 117.021 228.622 115.502 230.508C111.125 235.941 107.808 242.359 109.555 249.496C110.765 254.439 114.3 258.033 118.725 260.335C123.625 262.885 128.963 263.866 134.372 263.866C137.884 263.866 141.423 263.451 144.891 262.786C146.709 262.438 148.513 262.023 150.28 261.561C151.427 261.26 152.558 260.94 153.673 260.608C163.242 257.749 172.645 254.178 182.092 250.94C182.389 250.837 182.666 250.793 182.927 250.793C185.354 250.793 186.157 254.823 183.421 255.76C173.974 258.998 164.571 262.565 155.002 265.428C154.919 265.452 154.835 265.475 154.752 265.499C152.945 266.037 151.107 266.539 149.252 266.982C144.547 268.109 139.714 268.868 134.898 268.868C134.099 268.868 133.301 268.848 132.506 268.805C121.161 268.188 107.985 263.229 104.81 251.102C102.43 242.015 106.376 233.924 111.971 226.973H111.967Z",fill:"#11265A"}))),Go.createElement("defs",null,Go.createElement("clipPath",{id:"clip0_539_68"},Go.createElement("rect",{width:"400",height:"400",fill:"white"})),Go.createElement("clipPath",{id:"clip1_539_68"},Go.createElement("rect",{width:"199.111",height:"199.111",fill:"white",transform:"translate(100.443 100.444)"})))),null),labelCSSDefinition:"",getSecondaryCtaSvg:()=>Go.createElement(ag,null),mainColorHex:"#11265A"}},GDON:{trackVisits:!0}};var ig=function(e,t,o,n){return new(o||(o=Promise))(function(a,r){function i(e){try{c(n.next(e))}catch(e){r(e)}}function s(e){try{c(n.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof o?t:new o(function(e){e(t)})).then(i,s)}c((n=n.apply(e,t||[])).next())})};function sg(){return ig(this,void 0,void 0,function*(){const{partnerKey:e}=yield Et.getConfig();if(!e)throw new Error("partnerKey is required to initialize AdUnit content");const t=function(e){var t;return null!==(t=rg[e])&&void 0!==t?t:{}}(e);return ng({platformContentConfig:t,frontNavigationFactoryConfig:{useRedirectEngine:!1}})})}})(),module.exports=n})();