function t(t,i,e){return Math.max(t,Math.min(i,e))}var i=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(i){if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=i;const s=t(0,this.currentTime/this.duration,1);e=s>=1;const o=e?1:this.easing(s);this.value=this.from+(this.to-this.from)*o}else this.lerp?(this.value=function(t,i,e,s){return function(t,i,e){return(1-e)*t+e*i}(t,i,1-Math.exp(-e*s))}(this.value,this.to,60*this.lerp,i),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)):(this.value=this.to,e=!0);e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,i,{lerp:e,duration:s,easing:o,onStart:n,onUpdate:r}){this.from=this.value=t,this.to=i,this.lerp=e,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r}};var e=class{constructor(t,i,{autoResize:e=!0,debounce:s=250}={}){this.wrapper=t,this.content=i,e&&(this.debouncedResize=function(t,i){let e;return function(...s){let o=this;clearTimeout(e),e=setTimeout((()=>{e=void 0,t.apply(o,s)}),i)}}(this.resize,s),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},s=class{events={};emit(t,...i){let e=this.events[t]||[];for(let t=0,s=e.length;t<s;t++)e[t]?.(...i)}on(t,i){return this.events[t]?.push(i)||(this.events[t]=[i]),()=>{this.events[t]=this.events[t]?.filter((t=>i!==t))}}off(t,i){this.events[t]=this.events[t]?.filter((t=>i!==t))}destroy(){this.events={}}},o=100/6,n={passive:!1},r=class{constructor(t,i={wheelMultiplier:1,touchMultiplier:1}){this.element=t,this.options=i,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,n),this.element.addEventListener("touchstart",this.onTouchStart,n),this.element.addEventListener("touchmove",this.onTouchMove,n),this.element.addEventListener("touchend",this.onTouchEnd,n)}touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new s;on(t,i){return this.emitter.on(t,i)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,n),this.element.removeEventListener("touchstart",this.onTouchStart,n),this.element.removeEventListener("touchmove",this.onTouchMove,n),this.element.removeEventListener("touchend",this.onTouchEnd,n)}onTouchStart=t=>{const{clientX:i,clientY:e}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=i,this.touchStart.y=e,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{const{clientX:i,clientY:e}=t.targetTouches?t.targetTouches[0]:t,s=-(i-this.touchStart.x)*this.options.touchMultiplier,o=-(e-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=i,this.touchStart.y=e,this.lastDelta={x:s,y:o},this.emitter.emit("scroll",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=t=>{let{deltaX:i,deltaY:e,deltaMode:s}=t;i*=1===s?o:2===s?this.window.width:1,e*=1===s?o:2===s?this.window.height:1,i*=this.options.wheelMultiplier,e*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:i,deltaY:e,event:t})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}},Lenis=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;__rafID=null;isTouching;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new i;emitter=new s;dimensions;virtualScroll;constructor({wrapper:t=window,content:i=document.documentElement,eventsTarget:s=t,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:l=.075,touchInertiaMultiplier:h=35,duration:a,easing:c=t=>Math.min(1,1.001-Math.pow(2,-10*t)),lerp:p=.1,infinite:d=!1,orientation:u="vertical",gestureOrientation:m="vertical",touchMultiplier:v=1,wheelMultiplier:S=1,autoResize:w=!0,prevent:g,virtualScroll:f,overscroll:y=!0,autoRaf:E=!1,anchors:T=!1,__experimental__naiveDimensions:z=!1}={}){window.lenisVersion="1.1.19",t&&t!==document.documentElement||(t=window),this.options={wrapper:t,content:i,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:l,touchInertiaMultiplier:h,duration:a,easing:c,lerp:p,infinite:d,gestureOrientation:m,orientation:u,touchMultiplier:v,wheelMultiplier:S,autoResize:w,prevent:g,virtualScroll:f,overscroll:y,autoRaf:E,anchors:T,__experimental__naiveDimensions:z},this.dimensions=new e(t,i,{autoResize:w}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.addEventListener("click",this.onClick,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new r(s,{touchMultiplier:v,wheelMultiplier:S}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.removeEventListener("click",this.onClick,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this.__rafID&&cancelAnimationFrame(this.__rafID)}on(t,i){return this.emitter.on(t,i)}off(t,i){return this.emitter.off(t,i)}onScrollEnd=t=>{t instanceof CustomEvent||"smooth"!==this.isScrolling&&!1!==this.isScrolling||t.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};setScroll(t){this.isHorizontal?this.options.wrapper.scrollTo({left:t,behavior:"instant"}):this.options.wrapper.scrollTo({top:t,behavior:"instant"})}onClick=t=>{const i=t.composedPath().find((t=>t instanceof HTMLAnchorElement&&t.getAttribute("href")?.startsWith("#")));if(i){const t=i.getAttribute("href");if(t){const i="object"==typeof this.options.anchors&&this.options.anchors?this.options.anchors:void 0;this.scrollTo(t,i)}}};onPointerDown=t=>{1===t.button&&this.reset()};onVirtualScroll=t=>{if("function"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(t))return;const{deltaX:i,deltaY:e,event:s}=t;if(this.emitter.emit("virtual-scroll",{deltaX:i,deltaY:e,event:s}),s.ctrlKey)return;if(s.lenisStopPropagation)return;const o=s.type.includes("touch"),n=s.type.includes("wheel");this.isTouching="touchstart"===s.type||"touchmove"===s.type;const r=0===i&&0===e;if(this.options.syncTouch&&o&&"touchstart"===s.type&&r&&!this.isStopped&&!this.isLocked)return void this.reset();const l="vertical"===this.options.gestureOrientation&&0===e||"horizontal"===this.options.gestureOrientation&&0===i;if(r||l)return;let h=s.composedPath();h=h.slice(0,h.indexOf(this.rootElement));const a=this.options.prevent;if(h.find((t=>t instanceof HTMLElement&&("function"==typeof a&&a?.(t)||t.hasAttribute?.("data-lenis-prevent")||o&&t.hasAttribute?.("data-lenis-prevent-touch")||n&&t.hasAttribute?.("data-lenis-prevent-wheel")))))return;if(this.isStopped||this.isLocked)return void s.preventDefault();if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n))return this.isScrolling="native",this.animate.stop(),void(s.lenisStopPropagation=!0);let c=e;"both"===this.options.gestureOrientation?c=Math.abs(e)>Math.abs(i)?e:i:"horizontal"===this.options.gestureOrientation&&(c=i),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&(this.animatedScroll>0&&this.animatedScroll<this.limit||0===this.animatedScroll&&e>0||this.animatedScroll===this.limit&&e<0))&&(s.lenisStopPropagation=!0),s.preventDefault();const p=o&&this.options.syncTouch,d=o&&"touchend"===s.type&&Math.abs(c)>5;d&&(c=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+c,{programmatic:!1,...p?{lerp:d?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(null!==this._resetVelocityTimeout&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent)this._preventNextNativeScrollEvent=!1;else if(!1===this.isScrolling||"native"===this.isScrolling){const t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isStopped||(this.isScrolling="native"),this.emit(),0!==this.velocity&&(this._resetVelocityTimeout=setTimeout((()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()}),400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.reset(),this.isStopped=!1)}stop(){this.isStopped||(this.reset(),this.isStopped=!0)}raf=t=>{const i=t-(this.time||t);this.time=t,this.animate.advance(.001*i),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))};scrollTo(i,{offset:e=0,immediate:s=!1,lock:o=!1,duration:n=this.options.duration,easing:r=this.options.easing,lerp:l=this.options.lerp,onStart:h,onComplete:a,force:c=!1,programmatic:p=!0,userData:d}={}){if(!this.isStopped&&!this.isLocked||c){if("string"==typeof i&&["top","left","start"].includes(i))i=0;else if("string"==typeof i&&["bottom","right","end"].includes(i))i=this.limit;else{let t;if("string"==typeof i?t=document.querySelector(i):i instanceof HTMLElement&&i?.nodeType&&(t=i),t){if(this.options.wrapper!==window){const t=this.rootElement.getBoundingClientRect();e-=this.isHorizontal?t.left:t.top}const s=t.getBoundingClientRect();i=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if("number"==typeof i){if(i+=e,i=Math.round(i),this.options.infinite?p&&(this.targetScroll=this.animatedScroll=this.scroll):i=t(0,i,this.limit),i===this.targetScroll)return h?.(this),void a?.(this);if(this.userData=d??{},s)return this.animatedScroll=this.targetScroll=i,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),a?.(this),this.userData={},void requestAnimationFrame((()=>{this.dispatchScrollendEvent()}));p||(this.targetScroll=i),this.animate.fromTo(this.animatedScroll,i,{duration:n,easing:r,lerp:l,onStart:()=>{o&&(this.isLocked=!0),this.isScrolling="smooth",h?.(this)},onUpdate:(t,i)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),p&&(this.targetScroll=t),i||this.emit(),i&&(this.reset(),this.emit(),a?.(this),this.userData={},requestAnimationFrame((()=>{this.dispatchScrollendEvent()})),this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame((()=>{this._preventNextNativeScrollEvent=!1}))}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){const t=this.options.wrapper;return this.isHorizontal?t.scrollX??t.scrollLeft:t.scrollY??t.scrollTop}get scroll(){return this.options.infinite?(t=this.animatedScroll,i=this.limit,(t%i+i)%i):this.animatedScroll;var t,i}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(t){this._isScrolling!==t&&(this._isScrolling=t,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(t){this._isStopped!==t&&(this._isStopped=t,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(t){this._isLocked!==t&&(this._isLocked=t,this.updateClassName())}get isSmooth(){return"smooth"===this.isScrolling}get className(){let t="lenis";return this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),"smooth"===this.isScrolling&&(t+=" lenis-smooth"),t}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}};globalThis.Lenis=Lenis,globalThis.Lenis.prototype=Lenis.prototype;
window.lenisInstance=new Lenis({autoRaf:true,lerp:0.1,duration:1.2,wheelMultiplier:1,easing:x=>Math.min(1,1.001-Math.pow(2,-10*x))});
(function($){
"use strict";
var tourmaster_display='desktop';
if(typeof(window.matchMedia)=='function'){
$(window).on('resize tourmaster-set-display', function(){
if(window.matchMedia('(max-width: 419px)').matches){
tourmaster_display='mobile-portrait';
}else if(window.matchMedia('(max-width: 767px)').matches){
tourmaster_display='mobile-landscape'
}else if(window.matchMedia('(max-width: 999px)').matches){
tourmaster_display='tablet'
}else{
tourmaster_display='desktop';
}});
$(window).trigger('tourmaster-set-display');
}else{
$(window).on('resize tourmaster-set-display', function(){
if($(window).innerWidth() <=419){
tourmaster_display='mobile-portrait';
}else if($(window).innerWidth() <=767){
tourmaster_display='mobile-landscape'
}else if($(window).innerWidth() <=999){
tourmaster_display='tablet'
}else{
tourmaster_display='desktop';
}});
$(window).trigger('tourmaster-set-display');
}
$.fn.tourmaster_datepicker=function(){
$(this).each(function(){
var date_input=$(this);
var datepicker_wrap=$(this).closest('.tourmaster-datepicker-wrap');
var alternate_field=$(this).siblings('.tourmaster-datepicker-alt');
var date_format=$(this).attr('data-date-format');
if(!$(this).attr('data-tour-date')){
if(date_input.val()){
datepicker_wrap.addClass('tourmaster-with-date');
}
$(this).datepicker({
dateFormat: date_format,
altFormat: 'yy-mm-dd',
altField: alternate_field,
changeMonth: true,
changeYear: true,
minDate: new Date(),
onSelect: function(){
datepicker_wrap.addClass('tourmaster-with-date');
}});
datepicker_wrap.on('click', '.tourmaster-clear-date', function(){
date_input.val('');
alternate_field.val('');
datepicker_wrap.removeClass('tourmaster-with-date');
});
}else{
var date_range=$(this).attr('data-tour-range');
var available_date=JSON.parse($(this).attr('data-tour-date'));
var current_date=$(this).val();
var selected_date=current_date;
$(this).datepicker({
dateFormat: date_format,
altFormat: 'yy-mm-dd',
altField: alternate_field,
changeMonth: true,
changeYear: true,
minDate: new Date(available_date[0]),
maxDate: new Date(available_date[ available_date.length - 1 ]),
beforeShowDay: function(date){
current_date=date.getFullYear() + '-';
current_date +=('0' +(date.getMonth() + 1)).slice(-2) + '-';
current_date +=('0' + date.getDate()).slice(-2);
var extra_class='';
var date_diff=tourmaster_date_diff(selected_date, current_date);
if(date_diff >=0&&date_diff < date_range){
extra_class='tourmaster-highlight';
}
if(available_date.indexOf(current_date) >=0){
return [true, extra_class, ''];
}else{
return [false, extra_class, ''];
}},
onSelect: function(dateText, inst){
selected_date=inst.selectedYear + '-';
selected_date +=('0' +(inst.selectedMonth + 1)).slice(-2) + '-';
selected_date +=('0' + inst.selectedDay).slice(-2);
alternate_field.trigger('change');
},
beforeShow: function(input, inst){
var widget=$(inst).datepicker('widget');
if($("body").hasClass("rtl")){
widget.css('margin-left', widget.outerWidth() - $(input).outerWidth());
}else{
widget.css('margin-left', $(input).outerWidth() - widget.outerWidth());
}
widget.css('margin-top', -2);
},
closeText: TMi18n.closeText,
currentText: TMi18n.currentText,
monthNames: TMi18n.monthNames,
monthNamesShort: TMi18n.monthNamesShort,
dayNames: TMi18n.dayNames,
dayNamesShort: TMi18n.dayNamesShort,
dayNamesMin: TMi18n.dayNamesMin,
firstDay: TMi18n.firstDay
});
var initial_date=new Date(current_date + 'T00:00:00+00:00');
initial_date=new Date(initial_date.getTime() + (initial_date.getTimezoneOffset() * 60000));
$(this).datepicker('setDate', initial_date);
}});
}
function tourmaster_date_diff(date1, date2){
var dt1=new Date(date1);
var dt2=new Date(date2);
return Math.floor((Date.UTC(dt2.getFullYear(), dt2.getMonth(), dt2.getDate()) - Date.UTC(dt1.getFullYear(), dt1.getMonth(), dt1.getDate())) /(1000 * 60 * 60 * 24));
}
function tourmaster_tour_booking_ajax(ajax_url, ajax_settings, ajax_data){
var ajax_settings=$.extend({
beforeSend: function(jqXHR, settings){},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data){
}}, ajax_settings);
var ajax_data=$.extend({
action: 'tourmaster_tour_booking',
}, ajax_data);
$.ajax({
type: 'POST',
url: ajax_url,
data: ajax_data,
dataType: 'json',
beforeSend: ajax_settings.beforeSend,
error: ajax_settings.error,
success: ajax_settings.success
});
}
function tourmaster_tour_input(form){
var ret={};
form.find('input[name], select[name], textarea[name]').each(function(){
var key=$(this).attr('name');
if((key.lastIndexOf('[]')==(key.length - 2))){
key=key.substr(0, key.length - 2);
if(typeof(ret[key])!='object'){
ret[key]=[]
}
ret[key].push($(this).val());
}else{
ret[key]=$(this).val();
}});
return ret;
}
function tourmaster_get_booking_detail(form){
var booking_detail={};
form.find('input[name], select[name], textarea[name]').each(function(){
var key=$(this).attr('name');
var value;
if($(this).is('[type="checkbox"]')){
var value=$(this).is(':checked')? $(this).val(): 0;
}else if($(this).is('[type="radio"]')){
if($(this).is(':checked')){
var value=$(this).val();
}else{
return;
}}else{
var value=$(this).val();
}
if((key.lastIndexOf('[]')==(key.length - 2))){
key=key.substr(0, key.length - 2);
if(typeof(booking_detail[key])!='object'){
booking_detail[key]=[]
}
booking_detail[key].push(value);
}else{
booking_detail[$(this).attr('name')]=value;
}});
return booking_detail;
}
$.fn.tourmaster_tour_booking=function(){
var form=$(this);
var ajax_url=$(this).attr('data-ajax-url');
$(this).on('change', 'input[name="tour-date"], select[name="tour-date"]', function(){
var sent_data=tourmaster_tour_input(form);
sent_data['step']=1;
form.find('[data-step]').each(function(){
if($(this).attr('data-step') > 1){
$(this).slideUp(200, function(){ $(this).remove(); });
}});
tourmaster_tour_booking_ajax(ajax_url, {
success: function(data){
if(typeof(data.content)!='undefined'){
form.find('[data-step]').each(function(){
if($(this).attr('data-step') > 1){
$(this).slideUp(200, function(){ $(this).remove(); });
}});
var content=$(data.content).hide();
form.append(content);
content.find('.tourmaster-datepicker').tourmaster_datepicker();
content.slideDown(200);
}}
}, {
data: sent_data
});
});
$(this).on('change', 'input[name="package"]', function(){
var sent_data=tourmaster_tour_input(form);
sent_data['step']=2;
form.find('[data-step]').each(function(){
if($(this).attr('data-step') > 2){
$(this).slideUp(200, function(){ $(this).remove(); });
}});
tourmaster_tour_booking_ajax(ajax_url, {
success: function(data){
if(typeof(data.content)!='undefined'){
var content=$(data.content).hide();
form.append(content);
content.find('.tourmaster-datepicker').tourmaster_datepicker();
content.slideDown(200);
content.find('select').first().trigger('change');
}}
}, {
data: sent_data
});
});
$(this).on('change', 'select[name="tour-room"]', function(){
var wrap=$(this).closest('.tourmaster-tour-booking-room');
var template=wrap.siblings('.tourmaster-tour-booking-room-template').children();
var container=wrap.siblings('.tourmaster-tour-booking-people-container');
var container_animate=false;
if($(this).val()&&container.length==0){
var container=$('<div class="tourmaster-tour-booking-people-container" data-step="999" ></div>').hide();
container.insertAfter(wrap);
container_animate=true;
}
if($(this).val()){
var count=parseInt($(this).val()) - container.children().length;
if(count > 0){
for(var i=0; i < count; i++){
var clone=template.clone();
clone.attr('data-step', 4);
clone.find('.tourmaster-tour-booking-room-text > span').html((container.children().length + 1));
container.append(clone);
if(!container_animate){
clone.hide();
clone.slideDown(200);
}}
}else if(count < 0){
container.children('div').slice(count).slideUp(200, function(){ $(this).remove(); });
}
if(container_animate){
container.slideDown(200);
}}else{
if(container.length > 0){
container.slideUp(200, function(){ $(this).remove(); });
}}
});
var orig_price='';
if($(this).hasClass('tourmaster-update-header-price')){
$(this).on('change', 'input, select', function(){
var header_price=$('.tourmaster-header-price');
var booking_data=tourmaster_get_booking_detail(form);
if(!orig_price){
orig_price=header_price.html();
}
tourmaster_tour_booking_ajax(ajax_url, {
success: function(data){
if(typeof(data.price)!='undefined'){
header_price.data('original-price', header_price.html());
header_price.find('.tourmaster-tour-discount-price').remove();
header_price.find('.tourmaster-tour-price-wrap').removeClass('tourmaster-discount');
header_price.addClass('tourmaster-price-updated').find('.tourmaster-tour-price .tourmaster-tail').html(data.price);
$(window).trigger('resize');
}else if(orig_price){
header_price.html(orig_price).removeClass('tourmaster-price-updated');
if($(document.body).hasClass("rtl")){
header_price.find('[data-rel=tipsy]').tipsy({fade: true, gravity: 'sw'});
}else{
header_price.find('[data-rel=tipsy]').tipsy({fade: true, gravity: 'se'});
}}
}}, {
action: 'tourmaster_update_head_price',
data: booking_data
});
});
}
$(this).on('click', 'input[type="submit"]', function(){
var submit_button=$(this);
var error_message=$(this).siblings('.tourmaster-tour-booking-submit-error');
var validate=true;
form.find('input[data-required], select[data-required], textarea[data-required]').each(function(){
if(!$(this).val()){
validate=false;
}});
if(!validate){
error_message.slideDown(200);
return false;
}
var extra_booking_info={};
form.find('.tourmaster-extra-booking-field').find('input, select, textarea').each(function(){
extra_booking_info[$(this).attr('name')]=$(this).val();
});
var submit=true;
var tour_package='';
var traveller_amount=0;
var adult_amount=0;
var male_amount=0;
var female_amount=0;
var max_traveller_per_room=0;
error_message.filter('.tourmaster-temp').slideUp(200, function(){ $(this).remove() });
form.find('[data-step]').each(function(){
var step=$(this).attr('data-step');
if(step==1||step==2||step==3){
$(this).find('input[name], select[name]').each(function(){
if($(this).val()==""){
submit=false;
}else if($(this).attr('name')=='package'){
tour_package=$(this).val();
}});
}else if(step==4){
var num_people=0;
var room_people=0;
$(this).find('select[name], input[name]').each(function(){
if($(this).attr('name')=='group'){
traveller_amount='group';
adult_amount='group';
}else if($(this).val()!=""){
room_people +=parseInt($(this).val());
if($(this).is('[name^="tour-adult"], [name^="tour-people"]')){
adult_amount +=room_people;
}else if($(this).is('[name^="tour-male"]')){
male_amount +=room_people;
adult_amount +=room_people;
}else if($(this).is('[name^="tour-female"]')){
female_amount +=room_people;
adult_amount +=room_people;
}}
});
num_people +=room_people;
if(room_people > max_traveller_per_room){
max_traveller_per_room=room_people;
}
if(traveller_amount!='group'){
if(num_people <=0){
submit=false;
}else{
traveller_amount +=num_people;
}}
}});
if(!submit){
error_message.slideDown(200);
}else{
error_message.slideUp(200);
submit_button.animate({ opacity: 0.5 });
tourmaster_tour_booking_ajax(ajax_url, {
success: function(data){
if(data.status=='success'){
if(submit&&submit_button.attr('data-ask-login')){
var content=submit_button.siblings('[data-tmlb-id="' + submit_button.attr('data-ask-login') + '"]');
if(content.length==0){
content=form.closest('form').siblings('[data-tmlb-id="' + submit_button.attr('data-ask-login') + '"]');
}
var lb_content=content.clone();
if(lb_content.find('.nsl-container-block').length > 0){
lb_content.find('.nsl-container-block').replaceWith(content.find('.nsl-container-block').clone(true));
}
tourmaster_lightbox(lb_content);
var booking_detail=tourmaster_get_booking_detail(form);
tourmaster_set_cookie('tourmaster-booking-detail', JSON.stringify(booking_detail), 0);
}else{
var booking_detail=tourmaster_get_booking_detail(form);
tourmaster_set_cookie('tourmaster-booking-detail', JSON.stringify(booking_detail), 0);
form.submit();
}}else if(typeof(data.message)!='undefined'){
var temp_error=$('<div class="tourmaster-tour-booking-submit-error tourmaster-temp" ></div>').html(data.message);
temp_error.insertAfter(submit_button);
temp_error.slideDown(200);
}
submit_button.animate({ opacity: 1 });
}}, {
action: 'tourmaster_tour_booking_amount_check',
tid: form.find('[name="tid"]').val(),
tour_id: form.find('[name="tour-id"]').val(),
tour_date: form.find('[name="tour-date"]').val(),
traveller: traveller_amount,
'adult_amount': adult_amount,
'male_amount': male_amount,
'female_amount': female_amount,
'package': tour_package,
'max_traveller_per_room': max_traveller_per_room,
'extra_booking_info': extra_booking_info
});
}
return false;
});
}
$.fn.tourmaster_tour_booking_sticky=function(){
$(this).each(function(){
var page_wrap=$(this).closest('.tourmaster-page-wrapper');
var template_wrap=page_wrap.children('.tourmaster-template-wrapper');
var booking_bar_wrap=$(this);
var booking_bar_anchor=$(this).siblings('.tourmaster-tour-booking-bar-anchor');
var top_offset=parseInt($('html').css('margin-top'));
var left_offset=parseInt(booking_bar_anchor.css('margin-left'));
var right_offset=parseInt(booking_bar_anchor.css('margin-right'));
if(page_wrap.hasClass('tourmaster-tour-style-1')){
$(this).addClass('tourmaster-start-script');
page_wrap.siblings('.tourmaster-single-header').addClass('tourmaster-start-script');
var header_price=$(this).children('.tourmaster-tour-booking-bar-outer').children('.tourmaster-header-price');
booking_bar_wrap.css('margin-top', -header_price.outerHeight());
booking_bar_anchor.css('margin-top', -header_price.outerHeight());
page_wrap.css('min-height', booking_bar_wrap.height() - header_price.outerHeight());
$(window).resize(function(){
booking_bar_wrap.css('margin-top', -header_price.outerHeight());
booking_bar_anchor.css('margin-top', -header_price.outerHeight());
page_wrap.css('min-height', booking_bar_wrap.height() - header_price.outerHeight())
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': '',
'top': '',
'right': '',
'margin-top': booking_bar_anchor.css('margin-top')
});
}else{
booking_bar_wrap.css({
'position': '',
'top': '',
'left': '',
'margin-top': booking_bar_anchor.css('margin-top')
});
}
booking_bar_wrap.removeClass('tourmaster-fixed tourmaster-top tourmaster-bottom tourmaster-lock');
});
}
var top_padding=0;
var prev_scroll=0;
$(window).on('scroll resize', function(){
if(!booking_bar_anchor.length) return;
var animate_on_scroll=true;
if(tourmaster_display=='mobile-landscape'||tourmaster_display=='mobile-portrait'||tourmaster_display=='tablet'){
animate_on_scroll=false;
}
var scroll_direction=(prev_scroll > $(window).scrollTop())? 'up': 'down';
prev_scroll=$(window).scrollTop();
if(animate_on_scroll&&$(window).scrollTop() + top_offset + top_padding > booking_bar_anchor.offset().top){
if($(window).height() > booking_bar_wrap.outerHeight() + top_padding){
if($(window).scrollTop() + booking_bar_wrap.outerHeight() + top_offset + (top_padding * 2) > page_wrap.offset().top + page_wrap.outerHeight()){
if(!booking_bar_wrap.hasClass('tourmaster-fixed-lock')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'absolute',
'top': template_wrap.outerHeight() - booking_bar_wrap.outerHeight() - top_padding,
'right': 'auto',
'margin-top': 0
});
}else{
booking_bar_wrap.css({
'position': 'absolute',
'top': template_wrap.outerHeight() - booking_bar_wrap.outerHeight() - top_padding,
'left': 'auto',
'margin-top': 0
});
}
booking_bar_wrap.removeClass('tourmaster-fixed');
booking_bar_wrap.addClass('tourmaster-fixed-lock');
}}else if(!booking_bar_wrap.hasClass('tourmaster-fixed')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'fixed',
'top': top_padding + top_offset,
'right': $(window).width() - (booking_bar_anchor.offset().left + booking_bar_anchor.outerWidth()) - right_offset,
'margin-top': 0 
});
}else{
booking_bar_wrap.css({
'position': 'fixed',
'top': top_padding + top_offset,
'left': booking_bar_anchor.offset().left - left_offset,
'margin-top': 0 
});
}
booking_bar_wrap.removeClass('tourmaster-fixed-lock');
booking_bar_wrap.addClass('tourmaster-fixed');
}else{
if(booking_bar_wrap.hasClass('tourmaster-fixed')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'right': $(window).width() - (booking_bar_anchor.offset().left + booking_bar_anchor.outerWidth()) - right_offset,
});
}else{
booking_bar_wrap.css({
'left': booking_bar_anchor.offset().left - left_offset,
});
}}
}}else{
if(scroll_direction=='down'){
if(booking_bar_wrap.hasClass('tourmaster-top')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'absolute',
'top': $(window).scrollTop() + top_padding + top_offset - booking_bar_wrap.parent().offset().top,
'right': 'auto',
'margin-top': 0
});
}else{
booking_bar_wrap.css({
'position': 'absolute',
'top': $(window).scrollTop() + top_padding + top_offset - booking_bar_wrap.parent().offset().top,
'left': 'auto',
'margin-top': 0
});
}
booking_bar_wrap.removeClass('tourmaster-top');
booking_bar_wrap.addClass('tourmaster-lock');
}else if($(window).scrollTop() + $(window).height() > page_wrap.offset().top + page_wrap.outerHeight()){
if(!booking_bar_wrap.hasClass('tourmaster-lock')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'absolute',
'top': template_wrap.outerHeight() - booking_bar_wrap.outerHeight(),
'right': 'auto',
'margin-top': 0
});
}else{
booking_bar_wrap.css({
'position': 'absolute',
'top': template_wrap.outerHeight() - booking_bar_wrap.outerHeight(),
'left': 'auto',
'margin-top': 0
});
}
booking_bar_wrap.removeClass('tourmaster-bottom');
booking_bar_wrap.addClass('tourmaster-lock');
}}else if($(window).scrollTop() + $(window).height() > booking_bar_wrap.offset().top + booking_bar_wrap.outerHeight()){
if(!booking_bar_wrap.hasClass('tourmaster-bottom')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'fixed',
'top': $(window).height() - booking_bar_wrap.outerHeight(),
'right': $(window).width() - (booking_bar_anchor.offset().left + booking_bar_anchor.outerWidth()) - right_offset,
'margin-top': 0 
});
}else{
booking_bar_wrap.css({
'position': 'fixed',
'top': $(window).height() - booking_bar_wrap.outerHeight(),
'left': booking_bar_anchor.offset().left - left_offset,
'margin-top': 0 
});
}
booking_bar_wrap.removeClass('tourmaster-top tourmaster-lock');
booking_bar_wrap.addClass('tourmaster-bottom');
}}else{
if(booking_bar_wrap.hasClass('tourmaster-bottom')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'right': $(window).width() - (booking_bar_anchor.offset().left + booking_bar_anchor.outerWidth()) - right_offset,
});
}else{
booking_bar_wrap.css({
'left': booking_bar_anchor.offset().left - left_offset
});
}}
}}else{
if(booking_bar_wrap.hasClass('tourmaster-bottom')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'absolute',
'top': $(window).scrollTop() + $(window).height() - booking_bar_wrap.outerHeight() - booking_bar_wrap.parent().offset().top,
'right': 'auto',
'margin-top': 0
});
}else{
booking_bar_wrap.css({
'position': 'absolute',
'top': $(window).scrollTop() + $(window).height() - booking_bar_wrap.outerHeight() - booking_bar_wrap.parent().offset().top,
'left': 'auto',
'margin-top': 0
});
}
booking_bar_wrap.removeClass('tourmaster-bottom');
booking_bar_wrap.addClass('tourmaster-lock');
}else if(booking_bar_wrap.hasClass('tourmaster-lock')&&$(window).scrollTop() + top_offset + top_padding < booking_bar_wrap.offset().top){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': 'fixed',
'top': top_padding + top_offset,
'right': $(window).width() - (booking_bar_anchor.offset().left + booking_bar_anchor.outerWidth()) - right_offset,
'margin-top': 0 
});
}else{
booking_bar_wrap.css({
'position': 'fixed',
'top': top_padding + top_offset,
'left': booking_bar_anchor.offset().left - left_offset,
'margin-top': 0 
});
}
booking_bar_wrap.removeClass('tourmaster-bottom tourmaster-lock');
booking_bar_wrap.addClass('tourmaster-top');
}}
}}else{
if(booking_bar_wrap.hasClass('tourmaster-fixed')||booking_bar_wrap.hasClass('tourmaster-top') ||
booking_bar_wrap.hasClass('tourmaster-bottom')||booking_bar_wrap.hasClass('tourmaster-lock')){
if($("body").hasClass("rtl")){
booking_bar_wrap.css({
'position': '',
'top': '',
'right': '',
'margin-top': booking_bar_anchor.css('margin-top')
});
}else{
booking_bar_wrap.css({
'position': '',
'top': '',
'left': '',
'margin-top': booking_bar_anchor.css('margin-top')
});
}
booking_bar_wrap.removeClass('tourmaster-fixed tourmaster-top tourmaster-bottom tourmaster-lock');
}}
});
});
}
var tourmaster_payment_template=function(){
var t=this;
t.form=$('#tourmaster-payment-template-wrapper');
t.sidebar=t.form.find('#tourmaster-tour-booking-bar-inner');
t.content=t.form.find('#tourmaster-tour-payment-content');
t.payment_step=$('#tourmaster-payment-step-wrap');
t.payment_template=$('#tourmaster-page-wrapper');
t.init();
}
tourmaster_payment_template.prototype={
init: function(){
var t=this;
t.bind_script();
t.bind_script_recurring();
t.form.on('click', '.tourmaster-payment-step', function(){
var booking_detail_data=t.get_booking_detail();
if($(this).attr('data-name')){
booking_detail_data[$(this).attr('data-name')]=$(this).attr('data-value');
}
if($(this).attr('data-step')){
booking_detail_data['step']=$(this).attr('data-step');
}
if(t.check_required_field(booking_detail_data['step'])){
t.change_step({
booking_detail: booking_detail_data
});
}});
t.payment_step.on('click', '.tourmaster-payment-step-item', function(){
if($(this).hasClass('tourmaster-enable')){
var booking_detail_data=t.get_booking_detail();
if($(this).attr('data-step')){
booking_detail_data['step']=$(this).attr('data-step');
}
if(t.check_required_field(booking_detail_data['step'])){
t.change_step({
booking_detail: booking_detail_data
});
}}
});
t.form.on('change input', '.tourmaster-payment-service-form-wrap input', tourmaster_debounce(function(e){
if(e.type=='change'&&$(e.target).is('input[type="text"]')) return;
var booking_detail_data=t.get_booking_detail();
if($(this).attr('data-step')){
booking_detail_data['step']=3;
}
t.change_step({
booking_detail: booking_detail_data,
sub_action: 'update_sidebar'
});
}, 1000));
t.form.on('change', 'input[name="payment-type"]', function(){
var total_price_wrap=$(this).closest('.tourmaster-tour-booking-bar-total-price-wrap');
var deposit_price_wrap=total_price_wrap.siblings('.tourmaster-tour-booking-bar-deposit-text');
if(deposit_price_wrap.length==0){
deposit_price_wrap=total_price_wrap.children('.tourmaster-tour-booking-bar-deposit-text');
}
if($(this).is(':checked')){
if($(this).val()=='full'){
total_price_wrap.removeClass('tourmaster-deposit');
deposit_price_wrap.slideUp(200);
if(typeof(window.tourmaster_payment_type)!=='undefined'){
window.tourmaster_payment_type='full';
window.tourmaster_paypal_pay_amount=window.tourmaster_paypal_full_amount;
}}else if($(this).val()=='partial'){
total_price_wrap.addClass('tourmaster-deposit');
deposit_price_wrap.slideDown(200);
if(typeof(window.tourmaster_payment_type)!=='undefined'){
window.tourmaster_payment_type='partial';
window.tourmaster_paypal_pay_amount=window.tourmaster_paypal_deposit_amount;
}}
}});
},
animate_content: function(element, content){
var orig_height=element.outerHeight();
element.html(content);
var new_height=element.outerHeight();
element.css({height: orig_height});
element.animate({height: new_height}, function(){
element.css({height: 'auto'}, 1000)
});
},
bind_script_recurring: function(){
var t=this;
t.content.find('#tourmaster-payment-method-or').each(function(){
var divider_width=($(this).width() - $(this).children('.tourmaster-middle').width() - 40) / 2;
$(this).children('.tourmaster-left, .tourmaster-right').css('width', divider_width);
});
$(window).resize(function(){
t.content.find('#tourmaster-payment-method-or').each(function(){
var divider_width=($(this).width() - $(this).children('.tourmaster-middle').width() - 40) / 2;
$(this).children('.tourmaster-left, .tourmaster-right').css('width', divider_width);
});
});
t.paypal_jssdk_payment();
},
bind_script: function(){
var t=this;
t.form.on('change input', '[data-max-unit]', function(){
if(parseInt($(this).val()) > parseInt($(this).attr('data-max-unit'))){
$(this).val($(this).attr('data-max-unit'));
}});
t.sidebar.on('click', '#tourmaster-tour-booking-bar-price-breakdown-link', function(){
$(this).siblings('.tourmaster-price-breakdown').slideToggle(200);
});
t.sidebar.on('click', '.tourmaster-tour-booking-bar-date-edit', function(){
var temp_form=$(this).siblings('form');
var booking_detail=t.get_booking_detail();
temp_form.append($('<input name="tour_temp" />').val(JSON.stringify(booking_detail)));
temp_form.submit();
});
t.sidebar.on('click', '.tourmaster-tour-booking-bar-coupon-validate', function(){
var coupon_code=$(this).siblings('[name="coupon-code"]');
var coupon_message=$(this).siblings('.tourmaster-tour-booking-coupon-message');
$.ajax({
type: 'POST',
url: $(this).attr('data-ajax-url'),
data: { 'coupon_code': coupon_code.val(), 'tour_id': $(this).attr('data-tour-id'), 'action': 'tourmaster_validate_coupon_code', 'tid': $(this).attr('data-tid') },
dataType: 'json',
beforeSend: function(){
coupon_code.animate({opacity: 0.3});
coupon_message.slideUp(150);
coupon_message.removeClass('tourmaster-success tourmaster-failed');
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data){
coupon_code.animate({opacity: 1});
if(data.status=='success'){
var booking_detail_data=t.get_booking_detail();
t.change_step({ booking_detail: booking_detail_data, sub_action: 'update_sidebar' });
}else{
coupon_message.addClass('tourmaster-' + data.status);
coupon_message.html(data.message);
coupon_message.slideDown(150);
}}
});
});
t.content.on('click', '#tourmaster-payment-billing-copy', function(){
if($(this).is(':checked')){
var billing_info=$(this).closest('.tourmaster-payment-billing-wrap');
var contact_info=billing_info.siblings('.tourmaster-payment-contact-wrap');
billing_info.find('[data-contact-detail]').each(function(){
var contact_field=contact_info.find('[name="' + $(this).attr('data-contact-detail') + '"]');
$(this).val(contact_field.val());
});
}});
t.content.on('click', '[data-tmlb]', function(){
var lb_content=$(this).siblings('[data-tmlb-id="' + $(this).attr('data-tmlb') + '"]');
tourmaster_lightbox(lb_content.clone());
});
t.content.on('click', '[data-method]', function(){
if(t.check_required_field(4)){
var action=$(this).attr('data-action');
var type=$(this).attr('data-action-type');
if($(this).attr('data-method')=='ajax'){
var booking_detail_data=t.get_booking_detail();
t.change_step({
'action': action,
'type': type,
'booking_detail': booking_detail_data
});
}}
});
t.content.on('click', '.goodlayers-payment-plugin-complete', function(){
t.change_step({
'action': 'tourmaster_payment_plugin_complete',
'step': 4
});
});
t.sidebar.on('click', '.tourmaster-pay-now, .tourmaster-pay-woocommerce', function(){
if(t.check_required_field(4)){
var action='tourmaster_payment_selected';
if($(this).is('.tourmaster-pay-now')){
var type=$(this).closest('.tourmaster-tour-booking-side-payment-wrap').find('.tourmaster-payment-selection').val();
}else{
var type='woocommerce';
}
var booking_detail_data=t.get_booking_detail();
t.change_step({
'action': action,
'type': type,
'booking_detail': booking_detail_data
});
}});
},
paypal_jssdk_payment: function(){
var t=this;
var paypal_container=$('#paypal-button-container').empty();
if(paypal_container.length&&typeof(paypal)!=='undefined'){
paypal.Buttons({
createOrder: (data, actions)=> {
if(t.check_required_field(4)){
return actions.order.create({
purchase_units: [{
amount: {
currency_code: window.tourmaster_paypal_currency_code,
value: window.tourmaster_paypal_pay_amount
}}]
});
}
return false;
},
onApprove: (data, actions)=> {
return actions.order.capture().then(function(orderData){
t.change_step({
'action': 'tourmaster_payment_selected',
'type': 'paypal',
'paypal_type': 'js-sdk',
'order_data': orderData,
'booking_detail': t.get_booking_detail()
},{
complete: function(data){
}});
});
}}).render('#paypal-button-container');
}},
check_required_field: function(step){
var t=this;
var error=false;
var error_box=t.form.find('.tourmaster-tour-booking-required-error');
if(error_box.length){
error_box.slideUp(200);
if(step==3){
t.form.find('input[data-required], select[data-required], textarea[data-required]').each(function(){
if(!$(this).val()){
$(this).addClass('tourmaster-validate-error');
error='default';
}else if($(this).is('[type="email"]')){
var re=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if(!re.test($(this).val().toLowerCase())){
$(this).addClass('tourmaster-validate-error');
error='email';
}}else if($(this).is('[name="phone"], [name="billing_phone"]')){
var re=/^[\d\+\-\s\(\)\.]*$/;
if(!re.test($(this).val().toLowerCase())){
$(this).addClass('tourmaster-validate-error');
error='phone';
}}
if(!error){
$(this).removeClass('tourmaster-validate-error');
}});
if(error){
error_box.html(error_box.data(error));
error_box.slideDown(200);
var scrollPos=error_box.offset().top - $(window).height() + 200;
if(scrollPos > 0){
$('html, body').animate({scrollTop: scrollPos}, 600, 'easeOutQuad');
}}
}
if(step==4){
t.form.find('[name="term-and-service"]').each(function(){
if(!$(this).prop('checked')){
error='default';
error_box.html(error_box.data(error));
error_box.slideDown(200);
}});
}}
return (error===false);
},
get_booking_detail: function(){
var t=this;
var booking_detail={};
if(t.form.attr('data-booking-detail')){
booking_detail=JSON.parse(t.form.attr('data-booking-detail'));
}
var booking_detail_new=tourmaster_get_booking_detail(t.form);
for(var slug in booking_detail_new){ booking_detail[slug]=booking_detail_new[slug]; }
t.form.attr('data-booking-detail', JSON.stringify(booking_detail));
return booking_detail;
},
change_step: function(ajax_data, ajax_settings){
var t=this;
var ajax_data=$.extend({
action: 'tourmaster_payment_template',
}, ajax_data);
var ajax_settings=$.extend({
beforeSend: function(){
if(typeof(ajax_data.sub_action)=='undefined'||ajax_data.sub_action!='update_sidebar'){
t.content.animate({opacity: 0.1});
$('html, body').animate({scrollTop: t.payment_template.offset().top}, 600, 'easeOutQuad');
}
t.sidebar.animate({opacity: 0.1});
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data){
if(data.status=='failed'){
if(data.message){
t.sidebar.children('.tourmaster-tour-booking-submit-error').remove();
var error=$('<div class="tourmaster-tour-booking-submit-error" style="display: block" >' + data.message + '</div>');
t.sidebar.append(error);
}
console.log(data);
}
if(typeof(data.content)!='undefined'){
t.animate_content(t.content, data.content);
}
if(typeof(data.sidebar)!='undefined'){
t.animate_content(t.sidebar, data.sidebar);
}
if(typeof(data.cookie)!='undefined'){
var new_booking_detail=JSON.stringify(data.cookie);
tourmaster_set_cookie('tourmaster-booking-detail', new_booking_detail, 0);
t.form.attr('data-booking-detail', new_booking_detail);
}
if(typeof(ajax_data.booking_detail)!='undefined'||typeof(ajax_data.step)!='undefined'){
if(typeof(ajax_data.step)!='undefined'){
var booking_step=ajax_data.step;
}else{
var booking_step=ajax_data.booking_detail.step;
}
t.payment_step.find('.tourmaster-payment-step-item').each(function(){
if(booking_step==4){
$(this).addClass('tourmaster-checked').removeClass('tourmaster-current tourmaster-enable')
}else{
if($(this).attr('data-step')==1){
$(this).addClass('tourmaster-checked').removeClass('tourmaster-current tourmaster-enable');
}else if($(this).attr('data-step')==booking_step){
$(this).addClass('tourmaster-current').removeClass('tourmaster-checked tourmaster-enable');
}else if($(this).attr('data-step') < booking_step){
$(this).addClass('tourmaster-enable').removeClass('tourmaster-checked tourmaster-current');
}else{
$(this).removeClass('tourmaster-checked tourmaster-current tourmaster-enable');
}}
});
}
t.content.animate({opacity: 1});
t.sidebar.animate({opacity: 1});
t.bind_script_recurring();
if(typeof(ajax_settings.complete)=='function'){
ajax_settings.complete(data);
}}
}, ajax_settings);
$.ajax({
type: 'POST',
url: t.form.attr('data-ajax-url'),
data: ajax_data,
dataType: 'json',
beforeSend: ajax_settings.beforeSend,
error: ajax_settings.error,
success: ajax_settings.success
});
},
};
$.fn.tourmaster_single_review=function(){
var review_section=$(this);
var review_filter=$(this).find('#tourmaster-single-review-filter');
var review_content=$(this).find('#tourmaster-single-review-content');
var sort_by=review_filter.find('[data-sort-by]');
var filter_by=review_filter.find('#tourmaster-filter-by');
sort_by.on('click', function(){
if($(this).hasClass('tourmaster-active')) return false;
$(this).addClass('tourmaster-active').siblings('[data-sort-by]').removeClass('tourmaster-active');
tourmaster_get_review_ajax({
'action': 'get_single_tour_review',
'tour_id': review_content.attr('data-tour-id'),
'sort_by': $(this).attr('data-sort-by'),
'filter_by': filter_by.val()
}, review_content);
});
filter_by.on('change', function(){
tourmaster_get_review_ajax({
'action': 'get_single_tour_review',
'tour_id': review_content.attr('data-tour-id'),
'sort_by': sort_by.filter('.tourmaster-active').attr('data-sort-by'),
'filter_by': $(this).val()
}, review_content);
});
review_content.on('click', '[data-paged]', function(){
tourmaster_get_review_ajax({
'action': 'get_single_tour_review',
'tour_id': review_content.attr('data-tour-id'),
'paged': $(this).attr('data-paged'),
'sort_by': sort_by.filter('.tourmaster-active').attr('data-sort-by'),
'filter_by': filter_by.val()
}, review_content, review_section);
});
}
function tourmaster_get_review_ajax(ajax_data, content_section, scroll_to=null){
content_section.animate({opacity: 0.2}, 200);
$.ajax({
type: 'POST',
url: content_section.attr('data-ajax-url'),
data: ajax_data,
dataType: 'json',
error: function(jqXHR, textStatus, errorThrown){
content_section.animate({opacity: 1}, 200);
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data){
if(typeof(data.content)!='undefined'){
var old_height=content_section.outerHeight();
content_section.html(data.content);
var new_height=content_section.outerHeight();
content_section.css({'height': old_height});
content_section.animate({height: new_height}, 200 , function(){
content_section.css({height: 'auto'});
});
}
content_section.animate({opacity: 1}, 200);
if(scroll_to!=null){
$('body, html').animate({'scrollTop': scroll_to.offset().top - 150 });
}}
});
}
$(document).ready(function(){
var body=$('body');
body.find('.tourmaster-tour-search-filter-clear').on('click', function(){
var form=$(this).closest('form');
form.find('.tourmaster-rating-select[data-rating-score="0"]').trigger('click');
form.find('input[type="text"], select, input[name="rating"], input[type="hidden"]').val('');
form.find('input[type="checkbox"]').removeAttr('checked');
return false;
});
if(body.hasClass("rtl")){
$('[data-rel=tipsy]').tipsy({fade: true, gravity: 'sw'});
}else{
$('[data-rel=tipsy]').tipsy({fade: true, gravity: 'se'});
}
new gdlr_core_sync_height($('body'), $('.tourmaster-tour-content-wrap.gdlr-core-js'));
/*
$('.tourmaster-tour-item-style-grid').each(function(){
var max_height=0;
var default_padding=8;
var sync_item=$(this).find('.tourmaster-tour-grid.tourmaster-tour-frame .tourmaster-tour-content-wrap');
sync_item.each(function(){
if($(this).outerHeight() > max_height){
max_height=$(this).outerHeight();
}});
sync_item.each(function(){
var bottom_padding=max_height - $(this).outerHeight() + parseInt($(this).css('padding-bottom'));
$(this).css('padding-bottom', bottom_padding);
});
$(window).resize(function(){
max_height=0;
sync_item.css('padding-bottom', default_padding);
sync_item.each(function(){
if($(this).outerHeight() > max_height){
max_height=$(this).outerHeight();
}});
sync_item.each(function(){
var bottom_padding=max_height - $(this).outerHeight() + parseInt($(this).css('padding-bottom'));
$(this).css('padding-bottom', bottom_padding);
});
});
});
*/
$('.tourmaster-center-tour-content').each(function(){
var left_height=$(this).siblings('.tourmaster-content-left').outerHeight();
$(this).css({'padding-top': 0, 'padding-bottom': 0});
var padding=(left_height - $(this).outerHeight()) / 2;
padding=(padding > 0)? padding: 0;
$(this).css({'padding-top': padding, 'padding-bottom': padding });
$(window).resize(function(){
var left_height=$(this).siblings('.tourmaster-content-left').outerHeight();
$(this).css({'padding-top': 0, 'padding-bottom': 0});
var padding=(left_height - $(this).outerHeight()) / 2;
padding=(padding > 0)? padding: 0;
$(this).css({'padding-top': padding, 'padding-bottom': padding });
});
});
var search_item=$('.tourmaster-tour-search-item');
if(search_item.length){
tourmaster_rating(search_item);
search_item.find('.tourmaster-type-filter-title i').click(function(){
var filter_content=$(this).parent().siblings('.tourmaster-type-filter-item-wrap');
if($(this).hasClass('tourmaster-active')){
$(this).removeClass('tourmaster-active');
filter_content.slideUp(200);
}else{
$(this).addClass('tourmaster-active');
filter_content.slideDown(200);
}});
}
$('.tourmaster-datepicker').tourmaster_datepicker();
if(body.hasClass('single-tour')){
$('.tourmaster-single-tour-read-more-wrap .tourmaster-button').on('click', function(){
var scrollPos=$(window).scrollTop();
$(this).hide();
$(this).parent().parent().siblings('.tourmaster-single-tour-read-more-gradient').hide();
$(this).closest('.tourmaster-single-tour-content-wrap').css({'max-height': 'none', 'margin-bottom': 0});
$('html, body').scrollTop(scrollPos);
return false;
});
$('#tourmaster-single-tour-booking-fields').tourmaster_tour_booking();
$('#tourmaster-tour-booking-bar-wrap').tourmaster_tour_booking_sticky();
$('#tourmaster-enquiry-form').find('input[type="submit"]').click(function(){
if($(this).hasClass('tourmaster-now-loading')){ return false; }
var form=$(this).closest('form');
var form_button=$(this);
var message_box=form.find('.tourmaster-enquiry-form-message').not('.tourmaster-enquiry-term-message');
var condition_accepted_input=form.find('[name="tourmaster-require-acceptance"]');
if(condition_accepted_input.length&&!condition_accepted_input.is(':checked')){
condition_accepted_input.siblings('.tourmaster-enquiry-form-message').slideDown(150);
return false;
}else{
condition_accepted_input.siblings('.tourmaster-enquiry-form-message').slideUp(150);
}
var validate=true;
form.find('input[data-required], select[data-required], textarea[data-required]').each(function(){
if(!$(this).val()){
validate=false;
}});
if(!validate){
if(form.attr('data-validate-error')){
message_box.removeClass('tourmaster-success').addClass('tourmaster-failed');
message_box.html(form.attr('data-validate-error'));
message_box.slideDown(300);
}}else{
message_box.slideUp(300);
form_button.addClass('tourmaster-now-loading');
$.ajax({
type: 'POST',
url: form.attr('data-ajax-url'),
data: { action: form.attr('data-action'), data: tourmaster_get_booking_detail(form) },
dataType: 'json',
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data){
if(typeof(grecaptcha)!='undefined'){
form.find('#g-recaptcha-response').val('gdlr-verfied');
}
form_button.removeClass('tourmaster-now-loading');
if(typeof(data.message)!='undefined'){
if(data.status=='success'){
form.find('input[name], textarea[name], select[name]').not('[name="tour-id"]').val('');
message_box.removeClass('tourmaster-failed').addClass('tourmaster-success');
}else{
message_box.removeClass('tourmaster-success').addClass('tourmaster-failed');
}
message_box.html(data.message);
message_box.slideDown(300);
}}
});
}
return false;
});
$('#tourmaster-save-wish-list').click(function(){
if($(this).hasClass('tourmaster-active')) return;
$(this).addClass('tourmaster-active');
$.ajax({
type: 'POST',
url: $(this).attr('data-ajax-url'),
data: { action: 'tourmaster_add_wish_list', 'tour-id': $(this).attr('data-tour-id') },
dataType: 'json'
});
});
$('#tourmaster-single-review').tourmaster_single_review();
$('#tourmaster-urgency-message').click(function(){
var expire_time=$(this).attr('data-expire');
if(!expire_time){ expire_time=3600; }
tourmaster_set_cookie('tourmaster-urgency-message', '1', expire_time);
$(this).fadeOut(200, function(){ $(this).remove(); });
});
$('.tourmaster-single-tour-booking-fields').on('click', '.tourmaster-combobox-list-display', function(){
$(this).siblings('ul').fadeToggle(200);
});
$('.tourmaster-single-tour-booking-fields').on('click', '.tourmaster-combobox-list-wrap ul li', function(){
var value=$(this).attr('data-value');
$(this).closest('ul').fadeOut(200);
$(this).closest('ul').siblings('input').val(value).trigger('change');
$(this).closest('ul').siblings('.tourmaster-combobox-list-display').children('span').html(value);
});
$(document).mouseup(function(e){
var container=$('.tourmaster-combobox-list-wrap');
if(container.length&&!container.is(e.target)&&container.has(e.target).length===0){
container.find('ul').fadeOut(200);
}});
$('#tourmaster-booking-tab-title').children().click(function(){
if($(this).hasClass('tourmaster-active')){
return false;
}else{
$(this).addClass('tourmaster-active').siblings().removeClass('tourmaster-active');
}
var selected_tab=$(this).attr('data-tourmaster-tab');
$(this).parent().siblings('.tourmaster-booking-tab-content').each(function(){
if($(this).is('[data-tourmaster-tab="' + selected_tab + '"]')){
$(this).fadeIn(200, function(){ $(this).addClass('tourmaster-active'); });
}else{
$(this).removeClass('tourmaster-active').hide();
}});
});
}else if(body.hasClass('tourmaster-template-payment')){
new tourmaster_payment_template();
}});
$(window).on('load', function(){
var body=$('body');
var content_nav=$('#tourmaster-content-navigation-item-outer');
if(!body.is('.wp-admin')&&content_nav.length){
window.traveltour_anchor_offset=content_nav.height();
var content_nav_container=content_nav.parent();
var offset=parseInt($('html').css('margin-top'));
var slidebar=content_nav.find('.tourmaster-content-navigation-slider');
content_nav.find('.tourmaster-active').each(function(){
slidebar.css({width: $(this).outerWidth(), left: $(this).position().left});
});
content_nav.on('tourmaster-change', function(){
var active_slidebar=$(this).find('.tourmaster-active');
if(!active_slidebar.hasClass('tourmaster-slidebar-active')){
active_slidebar.addClass('tourmaster-slidebar-active');
slidebar.animate({width: active_slidebar.outerWidth(), left: active_slidebar.position().left}, { queue: false, duration: 200 });
}});
$(window).resize(function(){ content_nav.trigger('tourmaster-change'); });
content_nav.each(function(){
$(this).find('.tourmaster-content-navigation-tab').hover(function(){
slidebar.animate({ width: $(this).outerWidth(), left: $(this).position().left }, { queue: false, duration: 150 });
}, function(){
var active_slidebar=$(this).parent().children('.tourmaster-slidebar-active');
if(active_slidebar.length){
slidebar.animate({ width: active_slidebar.outerWidth(), left: active_slidebar.position().left }, { queue: false, duration: 150 });
}});
});
$(window).scroll(function(){
if(tourmaster_display=='mobile-landscape'||tourmaster_display=='mobile-portrait'||tourmaster_display=='tablet') return;
if($(this).scrollTop() + offset > content_nav_container.offset().top){
if(!content_nav.hasClass('tourmaster-fixed')){
content_nav.parent().css('height', content_nav.parent().height());
content_nav.addClass('tourmaster-fixed');
window.traveltour_anchor_offset=content_nav.height();
}}else{
if(content_nav.hasClass('tourmaster-fixed')){
content_nav.parent().css('height', 'auto');
content_nav.removeClass('tourmaster-fixed');
}}
});
}});
})(jQuery);
!function(a){function b(a,b){return"function"==typeof a?a.call(b):a}function c(a){for(;a=a.parentNode;)if(a==document)return!0;return!1}function d(b,c){this.$element=a(b),this.options=c,this.enabled=!0,this.fixTitle()}d.prototype={show:function(){var c=this.getTitle();if(c&&this.enabled){var d=this.tip();d.find(".tipsy-inner")[this.options.html?"html":"text"](c),d[0].className="tipsy",d.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var i,e=a.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),f=d[0].offsetWidth,g=d[0].offsetHeight,h=b(this.options.gravity,this.$element[0]);switch(h.charAt(0)){case"n":i={top:e.top+e.height+this.options.offset,left:e.left+e.width/2-f/2};break;case"s":i={top:e.top-g-this.options.offset,left:e.left+e.width/2-f/2};break;case"e":i={top:e.top+e.height/2-g/2,left:e.left-f-this.options.offset};break;case"w":i={top:e.top+e.height/2-g/2,left:e.left+e.width+this.options.offset}}2==h.length&&("w"==h.charAt(1)?i.left=e.left+e.width/2-15:i.left=e.left+e.width/2-f+15),d.css(i).addClass("tipsy-"+h),d.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+h.charAt(0),this.options.className&&d.addClass(b(this.options.className,this.$element[0])),this.options.fade?d.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):d.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){a(this).remove()}):this.tip().remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("original-title"))&&a.attr("original-title",a.attr("title")||"").removeAttr("title")},getTitle:function(){var a,b=this.$element,c=this.options;this.fixTitle();var a,c=this.options;return"string"==typeof c.title?a=b.attr("title"==c.title?"original-title":c.title):"function"==typeof c.title&&(a=c.title.call(b[0])),a=(""+a).replace(/(^\s*|\s*$)/,""),a||c.fallback},tip:function(){return this.$tip||(this.$tip=a('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>'),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},a.fn.tipsy=function(b){function e(c){var e=a.data(c,"tipsy");return e||(e=new d(c,a.fn.tipsy.elementOptions(c,b)),a.data(c,"tipsy",e)),e}function f(){var a=e(this);a.hoverState="in",0==b.delayIn?a.show():(a.fixTitle(),setTimeout(function(){"in"==a.hoverState&&a.show()},b.delayIn))}function g(){var a=e(this);a.hoverState="out",0==b.delayOut?a.hide():setTimeout(function(){"out"==a.hoverState&&a.hide()},b.delayOut)}if(b===!0)return this.data("tipsy");if("string"==typeof b){var c=this.data("tipsy");return c&&c[b](),this}if(b=a.extend({},a.fn.tipsy.defaults,b),b.live||this.each(function(){e(this)}),"manual"!=b.trigger){var h=b.live?"live":"bind",i="hover"==b.trigger?"mouseenter":"focus",j="hover"==b.trigger?"mouseleave":"blur";this[h](i,f)[h](j,g)}return this},a.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},a.fn.tipsy.revalidate=function(){a(".tipsy").each(function(){var b=a.data(this,"tipsy-pointee");b&&c(b)||a(this).remove()})},a.fn.tipsy.elementOptions=function(b,c){return a.metadata?a.extend({},c,a(b).metadata()):c},a.fn.tipsy.autoNS=function(){return a(this).offset().top>a(document).scrollTop()+a(window).height()/2?"s":"n"},a.fn.tipsy.autoWE=function(){return a(this).offset().left>a(document).scrollLeft()+a(window).width()/2?"e":"w"},a.fn.tipsy.autoBounds=function(b,c){return function(){var d={ns:c[0],ew:c.length>1&&c[1]},e=a(document).scrollTop()+b,f=a(document).scrollLeft()+b,g=a(this);return g.offset().top<e&&(d.ns="n"),g.offset().left<f&&(d.ew="w"),a(window).width()+a(document).scrollLeft()-g.offset().left<b&&(d.ew="e"),a(window).height()+a(document).scrollTop()-g.offset().top<b&&(d.ns="s"),d.ns+(d.ew?d.ew:"")}}}(jQuery);
(()=>{var e={539(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join("")}}};e.exports=t},635(e){var t,n;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=n.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n<e.length;n++,o+=8)t[o>>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var n=[],o=0;o<e.length;o+=3)for(var r=e[o]<<16|e[o+1]<<8|e[o+2],a=0;a<4;a++)8*o+6*a<=8*e.length?n.push(t.charAt(r>>>6*(3-a)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],o=0,r=0;o<e.length;r=++o%4)0!=r&&n.push((t.indexOf(e.charAt(o-1))&Math.pow(2,-2*r+8)-1)<<2*r|t.indexOf(e.charAt(o))>>>6-2*r);return n}},e.exports=n},445(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},892(e,t,n){var o,r,a,s,l;o=n(635),r=n(539).utf8,a=n(445),s=n(539).bin,(l=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?s.stringToBytes(e):r.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=o.bytesToWords(e),i=8*e.length,c=1732584193,_=-271733879,u=-1732584194,p=271733878,d=0;d<n.length;d++)n[d]=16711935&(n[d]<<8|n[d]>>>24)|4278255360&(n[d]<<24|n[d]>>>8);n[i>>>5]|=128<<i%32,n[14+(i+64>>>9<<4)]=i;var f=l._ff,m=l._gg,h=l._hh,v=l._ii;for(d=0;d<n.length;d+=16){var g=c,y=_,b=u,w=p;c=f(c,_,u,p,n[d+0],7,-680876936),p=f(p,c,_,u,n[d+1],12,-389564586),u=f(u,p,c,_,n[d+2],17,606105819),_=f(_,u,p,c,n[d+3],22,-1044525330),c=f(c,_,u,p,n[d+4],7,-176418897),p=f(p,c,_,u,n[d+5],12,1200080426),u=f(u,p,c,_,n[d+6],17,-1473231341),_=f(_,u,p,c,n[d+7],22,-45705983),c=f(c,_,u,p,n[d+8],7,1770035416),p=f(p,c,_,u,n[d+9],12,-1958414417),u=f(u,p,c,_,n[d+10],17,-42063),_=f(_,u,p,c,n[d+11],22,-1990404162),c=f(c,_,u,p,n[d+12],7,1804603682),p=f(p,c,_,u,n[d+13],12,-40341101),u=f(u,p,c,_,n[d+14],17,-1502002290),c=m(c,_=f(_,u,p,c,n[d+15],22,1236535329),u,p,n[d+1],5,-165796510),p=m(p,c,_,u,n[d+6],9,-1069501632),u=m(u,p,c,_,n[d+11],14,643717713),_=m(_,u,p,c,n[d+0],20,-373897302),c=m(c,_,u,p,n[d+5],5,-701558691),p=m(p,c,_,u,n[d+10],9,38016083),u=m(u,p,c,_,n[d+15],14,-660478335),_=m(_,u,p,c,n[d+4],20,-405537848),c=m(c,_,u,p,n[d+9],5,568446438),p=m(p,c,_,u,n[d+14],9,-1019803690),u=m(u,p,c,_,n[d+3],14,-187363961),_=m(_,u,p,c,n[d+8],20,1163531501),c=m(c,_,u,p,n[d+13],5,-1444681467),p=m(p,c,_,u,n[d+2],9,-51403784),u=m(u,p,c,_,n[d+7],14,1735328473),c=h(c,_=m(_,u,p,c,n[d+12],20,-1926607734),u,p,n[d+5],4,-378558),p=h(p,c,_,u,n[d+8],11,-2022574463),u=h(u,p,c,_,n[d+11],16,1839030562),_=h(_,u,p,c,n[d+14],23,-35309556),c=h(c,_,u,p,n[d+1],4,-1530992060),p=h(p,c,_,u,n[d+4],11,1272893353),u=h(u,p,c,_,n[d+7],16,-155497632),_=h(_,u,p,c,n[d+10],23,-1094730640),c=h(c,_,u,p,n[d+13],4,681279174),p=h(p,c,_,u,n[d+0],11,-358537222),u=h(u,p,c,_,n[d+3],16,-722521979),_=h(_,u,p,c,n[d+6],23,76029189),c=h(c,_,u,p,n[d+9],4,-640364487),p=h(p,c,_,u,n[d+12],11,-421815835),u=h(u,p,c,_,n[d+15],16,530742520),c=v(c,_=h(_,u,p,c,n[d+2],23,-995338651),u,p,n[d+0],6,-198630844),p=v(p,c,_,u,n[d+7],10,1126891415),u=v(u,p,c,_,n[d+14],15,-1416354905),_=v(_,u,p,c,n[d+5],21,-57434055),c=v(c,_,u,p,n[d+12],6,1700485571),p=v(p,c,_,u,n[d+3],10,-1894986606),u=v(u,p,c,_,n[d+10],15,-1051523),_=v(_,u,p,c,n[d+1],21,-2054922799),c=v(c,_,u,p,n[d+8],6,1873313359),p=v(p,c,_,u,n[d+15],10,-30611744),u=v(u,p,c,_,n[d+6],15,-1560198380),_=v(_,u,p,c,n[d+13],21,1309151649),c=v(c,_,u,p,n[d+4],6,-145523070),p=v(p,c,_,u,n[d+11],10,-1120210379),u=v(u,p,c,_,n[d+2],15,718787259),_=v(_,u,p,c,n[d+9],21,-343485551),c=c+g>>>0,_=_+y>>>0,u=u+b>>>0,p=p+w>>>0}return o.endian([c,_,u,p])})._ff=function(e,t,n,o,r,a,s){var l=e+(t&n|~t&o)+(r>>>0)+s;return(l<<a|l>>>32-a)+t},l._gg=function(e,t,n,o,r,a,s){var l=e+(t&o|n&~o)+(r>>>0)+s;return(l<<a|l>>>32-a)+t},l._hh=function(e,t,n,o,r,a,s){var l=e+(t^n^o)+(r>>>0)+s;return(l<<a|l>>>32-a)+t},l._ii=function(e,t,n,o,r,a,s){var l=e+(n^(t|~o))+(r>>>0)+s;return(l<<a|l>>>32-a)+t},l._blocksize=16,l._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(l(e,t));return t&&t.asBytes?n:t&&t.asString?s.bytesToString(n):o.bytesToHex(n)}},500(e,t){var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=s(e,a(n)))}return e}function a(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)o.call(e,n)&&e[n]&&(t=s(t,n));return t}function s(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)}()}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e,t,o,r,a,s,l,i,c,_,u,p,d,f,m,h={},v=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function b(e,t){for(var n in t)e[n]=t[n];return e}function w(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function C(t,n,o){var r,a,s,l={};for(s in n)"key"==s?r=n[s]:"ref"==s?a=n[s]:l[s]=n[s];if(arguments.length>2&&(l.children=arguments.length>3?e.call(arguments,2):o),"function"==typeof t&&null!=t.defaultProps)for(s in t.defaultProps)void 0===l[s]&&(l[s]=t.defaultProps[s]);return S(t,l,r,a,null)}function S(e,n,r,a,s){var l={type:e,props:n,key:r,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==s?++o:s,__i:-1,__u:0};return null==s&&null!=t.vnode&&t.vnode(l),l}function N(e){return e.children}function T(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?x(e):null}function E(e){if(e.__P&&e.__d){var n=e.__v,o=n.__e,r=[],a=[],s=b({},n);s.__v=n.__v+1,t.vnode&&t.vnode(s),U(e.__P,s,n,e.__n,e.__P.namespaceURI,32&n.__u?[o]:null,r,null==o?x(n):o,!!(32&n.__u),a),s.__v=n.__v,s.__.__k[s.__i]=s,$(r,s,a),n.__e=n.__=null,s.__e!=o&&A(s)}}function A(e){if(null!=(e=e.__)&&null!=e.__c)return e.__e=e.__c.base=null,e.__k.some(function(t){if(null!=t&&null!=t.__e)return e.__e=e.__c.base=t.__e}),A(e)}function I(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!k.__r++||a!=t.debounceRendering)&&((a=t.debounceRendering)||s)(k)}function k(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(l),e=r.shift(),t=r.length,E(e)}finally{r.length=k.__r=0}}function q(e,t,n,o,r,a,s,l,i,c,_){var u,p,d,f,m,g,y,b=o&&o.__k||v,w=t.length;for(i=O(n,t,b,i,w),u=0;u<w;u++)null!=(d=n.__k[u])&&(p=-1!=d.__i&&b[d.__i]||h,d.__i=u,g=U(e,d,p,r,a,s,l,i,c,_),f=d.__e,d.ref&&p.ref!=d.ref&&(p.ref&&V(p.ref,null,d),_.push(d.ref,d.__c||f,d)),null==m&&null!=f&&(m=f),(y=!!(4&d.__u))||p.__k===d.__k?(i=R(d,i,e,y),y&&p.__e&&(p.__e=null)):"function"==typeof d.type&&void 0!==g?i=g:f&&(i=f.nextSibling),d.__u&=-7);return n.__e=m,i}function O(e,t,n,o,r){var a,s,l,i,c,_=n.length,u=_,p=0;for(e.__k=new Array(r),a=0;a<r;a++)null!=(s=t[a])&&"boolean"!=typeof s&&"function"!=typeof s?("string"==typeof s||"number"==typeof s||"bigint"==typeof s||s.constructor==String?s=e.__k[a]=S(null,s,null,null,null):y(s)?s=e.__k[a]=S(N,{children:s},null,null,null):void 0===s.constructor&&s.__b>0?s=e.__k[a]=S(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,i=a+p,s.__=e,s.__b=e.__b+1,l=null,-1!=(c=s.__i=L(s,n,i,u))&&(u--,(l=n[c])&&(l.__u|=2)),null==l||null==l.__v?(-1==c&&(r>_?p--:r<_&&p++),"function"!=typeof s.type&&(s.__u|=4)):c!=i&&(c==i-1?p--:c==i+1?p++:(c>i?p--:p++,s.__u|=4))):e.__k[a]=null;if(u)for(a=0;a<_;a++)null!=(l=n[a])&&!(2&l.__u)&&(l.__e==o&&(o=x(l)),W(l,l));return o}function R(e,t,n,o){var r,a;if("function"==typeof e.type){for(r=e.__k,a=0;r&&a<r.length;a++)r[a]&&(r[a].__=e,t=R(r[a],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=x(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do{t=t&&t.nextSibling}while(null!=t&&8==t.nodeType);return t}function M(e,t){return t=t||[],null==e||"boolean"==typeof e||(y(e)?e.some(function(e){M(e,t)}):t.push(e)),t}function L(e,t,n,o){var r,a,s,l=e.key,i=e.type,c=t[n],_=null!=c&&!(2&c.__u);if(null===c&&null==l||_&&l==c.key&&i==c.type)return n;if(o>(_?1:0))for(r=n-1,a=n+1;r>=0||a<t.length;)if(null!=(c=t[s=r>=0?r--:a++])&&!(2&c.__u)&&l==c.key&&i==c.type)return s;return-1}function P(e,t,n){"-"==t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||g.test(t)?n:n+"px"}function D(e,t,n,o,r){var a,s;e:if("style"==t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof o&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||P(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||P(e.style,t,n[t])}else if("o"==t[0]&&"n"==t[1])a=t!=(t=t.replace(u,"$1")),s=t.toLowerCase(),t=s in e||"onFocusOut"==t||"onFocusIn"==t?s.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?o?n[_]=o[_]:(n[_]=p,e.addEventListener(t,a?f:d,a)):e.removeEventListener(t,a?f:d,a);else{if("http://www.w3.org/2000/svg"==r)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function H(e){return function(n){if(this.l){var o=this.l[n.type+e];if(null==n[c])n[c]=p++;else if(n[c]<o[_])return;return o(t.event?t.event(n):n)}}}function U(e,n,o,r,a,s,l,i,c,_){var u,p,d,f,m,h,g,C,S,x,E,A,I,k,O,R=n.type;if(void 0!==n.constructor)return null;128&o.__u&&(c=!!(32&o.__u),s=[i=n.__e=o.__e]),(u=t.__b)&&u(n);e:if("function"==typeof R)try{if(C=n.props,S=R.prototype&&R.prototype.render,x=(u=R.contextType)&&r[u.__c],E=u?x?x.props.value:u.__:r,o.__c?g=(p=n.__c=o.__c).__=p.__E:(S?n.__c=p=new R(C,E):(n.__c=p=new T(C,E),p.constructor=R,p.render=K),x&&x.sub(p),p.state||(p.state={}),p.__n=r,d=p.__d=!0,p.__h=[],p._sb=[]),S&&null==p.__s&&(p.__s=p.state),S&&null!=R.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=b({},p.__s)),b(p.__s,R.getDerivedStateFromProps(C,p.__s))),f=p.props,m=p.state,p.__v=n,d)S&&null==R.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),S&&null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(S&&null==R.getDerivedStateFromProps&&C!==f&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(C,E),n.__v==o.__v||!p.__e&&null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(C,p.__s,E)){n.__v!=o.__v&&(p.props=C,p.state=p.__s,p.__d=!1),n.__e=o.__e,n.__k=o.__k,n.__k.some(function(e){e&&(e.__=n)}),v.push.apply(p.__h,p._sb),p._sb=[],p.__h.length&&l.push(p);break e}null!=p.componentWillUpdate&&p.componentWillUpdate(C,p.__s,E),S&&null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(f,m,h)})}if(p.context=E,p.props=C,p.__P=e,p.__e=!1,A=t.__r,I=0,S)p.state=p.__s,p.__d=!1,A&&A(n),u=p.render(p.props,p.state,p.context),v.push.apply(p.__h,p._sb),p._sb=[];else do{p.__d=!1,A&&A(n),u=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++I<25);p.state=p.__s,null!=p.getChildContext&&(r=b(b({},r),p.getChildContext())),S&&!d&&null!=p.getSnapshotBeforeUpdate&&(h=p.getSnapshotBeforeUpdate(f,m)),k=null!=u&&u.type===N&&null==u.key?G(u.props.children):u,i=q(e,y(k)?k:[k],n,o,r,a,s,l,i,c,_),p.base=n.__e,n.__u&=-161,p.__h.length&&l.push(p),g&&(p.__E=p.__=null)}catch(e){if(n.__v=null,c||null!=s)if(e.then){for(n.__u|=c?160:128;i&&8==i.nodeType&&i.nextSibling;)i=i.nextSibling;s[s.indexOf(i)]=null,n.__e=i}else{for(O=s.length;O--;)w(s[O]);B(n)}else n.__e=o.__e,n.__k=o.__k,e.then||B(n);t.__e(e,n,o)}else null==s&&n.__v==o.__v?(n.__k=o.__k,n.__e=o.__e):i=n.__e=F(o.__e,n,o,r,a,s,l,c,_);return(u=t.diffed)&&u(n),128&n.__u?void 0:i}function B(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(B))}function $(e,n,o){for(var r=0;r<o.length;r++)V(o[r],o[++r],o[++r]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function G(e){return"object"!=typeof e||null==e||e.__b>0?e:y(e)?e.map(G):b({},e)}function F(n,o,r,a,s,l,i,c,_){var u,p,d,f,m,v,g,b=r.props||h,C=o.props,S=o.type;if("svg"==S?s="http://www.w3.org/2000/svg":"math"==S?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),null!=l)for(u=0;u<l.length;u++)if((m=l[u])&&"setAttribute"in m==!!S&&(S?m.localName==S:3==m.nodeType)){n=m,l[u]=null;break}if(null==n){if(null==S)return document.createTextNode(C);n=document.createElementNS(s,S,C.is&&C),c&&(t.__m&&t.__m(o,l),c=!1),l=null}if(null==S)b===C||c&&n.data==C||(n.data=C);else{if(l=l&&e.call(n.childNodes),!c&&null!=l)for(b={},u=0;u<n.attributes.length;u++)b[(m=n.attributes[u]).name]=m.value;for(u in b)m=b[u],"dangerouslySetInnerHTML"==u?d=m:"children"==u||u in C||"value"==u&&"defaultValue"in C||"checked"==u&&"defaultChecked"in C||D(n,u,null,m,s);for(u in C)m=C[u],"children"==u?f=m:"dangerouslySetInnerHTML"==u?p=m:"value"==u?v=m:"checked"==u?g=m:c&&"function"!=typeof m||b[u]===m||D(n,u,m,b[u],s);if(p)c||d&&(p.__html==d.__html||p.__html==n.innerHTML)||(n.innerHTML=p.__html),o.__k=[];else if(d&&(n.innerHTML=""),q("template"==o.type?n.content:n,y(f)?f:[f],o,r,a,"foreignObject"==S?"http://www.w3.org/1999/xhtml":s,l,i,l?l[0]:r.__k&&x(r,0),c,_),null!=l)for(u=l.length;u--;)w(l[u]);c||(u="value","progress"==S&&null==v?n.removeAttribute("value"):null!=v&&(v!==n[u]||"progress"==S&&!v||"option"==S&&v!=b[u])&&D(n,u,v,b[u],s),u="checked",null!=g&&g!=n[u]&&D(n,u,g,b[u],s))}return n}function V(e,n,o){try{if("function"==typeof e){var r="function"==typeof e.__u;r&&e.__u(),r&&null==n||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,o)}}function W(e,n,o){var r,a;if(t.unmount&&t.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||V(r,null,n)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){t.__e(e,n)}r.base=r.__P=null}if(r=e.__k)for(a=0;a<r.length;a++)r[a]&&W(r[a],n,o||"function"!=typeof e.type);o||w(e.__e),e.__c=e.__=e.__e=void 0}function K(e,t,n){return this.constructor(e,n)}function Z(n,o,r){var a,s,l,i;o==document&&(o=document.documentElement),t.__&&t.__(n,o),s=(a="function"==typeof r)?null:r&&r.__k||o.__k,l=[],i=[],U(o,n=(!a&&r||o).__k=C(N,null,[n]),s||h,h,o.namespaceURI,!a&&r?[r]:s?null:o.firstChild?e.call(o.childNodes):null,l,!a&&r?r:s?s.__e:o.firstChild,a,i),$(l,n,i)}e=v.slice,t={__e:function(e,t,n,o){for(var r,a,s;t=t.__;)if((r=t.__c)&&!r.__)try{if((a=r.constructor)&&null!=a.getDerivedStateFromError&&(r.setState(a.getDerivedStateFromError(e)),s=r.__d),null!=r.componentDidCatch&&(r.componentDidCatch(e,o||{}),s=r.__d),s)return r.__E=r}catch(t){e=t}throw e}},o=0,T.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=b({},this.state),"function"==typeof e&&(e=e(b({},n),this.props)),e&&b(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),I(this))},T.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),I(this))},T.prototype.render=N,r=[],s="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,l=function(e,t){return e.__v.__b-t.__v.__b},k.__r=0,i=Math.random().toString(8),c="__d"+i,_="__a"+i,u=/(PointerCapture)$|Capture$/i,p=0,d=H(!1),f=H(!0),m=0;var j,z,J,Y,X=0,Q=[],ee=t,te=ee.__b,ne=ee.__r,oe=ee.diffed,re=ee.__c,ae=ee.unmount,se=ee.__;function le(e,t){ee.__h&&ee.__h(z,e,X||t),X=0;var n=z.__H||(z.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function ie(e){return X=1,ce(be,e)}function ce(e,t,n){var o=le(j++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):be(void 0,t),function(e){var t=o.__N?o.__N[0]:o.__[0],n=o.t(t,e);t!==n&&(o.__N=[n,o.__[1]],o.__c.setState({}))}],o.__c=z,!z.__f)){var r=function(e,t,n){if(!o.__c.__H)return!0;var r=o.__c.__H.__.filter(function(e){return e.__c});if(r.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var s=o.__c.props!==e;return r.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}}),a&&a.call(this,e,t,n)||s};z.__f=!0;var a=z.shouldComponentUpdate,s=z.componentWillUpdate;z.componentWillUpdate=function(e,t,n){if(this.__e){var o=a;a=void 0,r(e,t,n),a=o}s&&s.call(this,e,t,n)},z.shouldComponentUpdate=r}return o.__N||o.__}function _e(e,t){var n=le(j++,3);!ee.__s&&ye(n.__H,t)&&(n.__=e,n.u=t,z.__H.__h.push(n))}function ue(e){return X=5,pe(function(){return{current:e}},[])}function pe(e,t){var n=le(j++,7);return ye(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function de(e,t){return X=8,pe(function(){return e},t)}function fe(){for(var e;e=Q.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ve),t.__h.some(ge),t.__h=[]}catch(n){t.__h=[],ee.__e(n,e.__v)}}}ee.__b=function(e){z=null,te&&te(e)},ee.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),se&&se(e,t)},ee.__r=function(e){ne&&ne(e),j=0;var t=(z=e.__c).__H;t&&(J===z?(t.__h=[],z.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(ve),t.__h.some(ge),t.__h=[],j=0)),J=z},ee.diffed=function(e){oe&&oe(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==Q.push(t)&&Y===ee.requestAnimationFrame||((Y=ee.requestAnimationFrame)||he)(fe)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),J=z=null},ee.__c=function(e,t){t.some(function(e){try{e.__h.some(ve),e.__h=e.__h.filter(function(e){return!e.__||ge(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],ee.__e(n,e.__v)}}),re&&re(e,t)},ee.unmount=function(e){ae&&ae(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{ve(e)}catch(e){t=e}}),n.__H=void 0,t&&ee.__e(t,n.__v))};var me="function"==typeof requestAnimationFrame;function he(e){var t,n=function(){clearTimeout(o),me&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);me&&(t=requestAnimationFrame(n))}function ve(e){var t=z,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),z=t}function ge(e){var t=z;e.__c=e.__(),z=t}function ye(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function be(e,t){return"function"==typeof t?t(e):t}function we(e,t){for(var n in t)e[n]=t[n];return e}function Ce(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var o in t)if("__source"!==o&&e[o]!==t[o])return!0;return!1}function Se(e,t){this.props=e,this.context=t}(Se.prototype=new T).isPureReactComponent=!0,Se.prototype.shouldComponentUpdate=function(e,t){return Ce(this.props,e)||Ce(this.state,t)};var Ne=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ne&&Ne(e)};var Te="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function xe(e){function t(t){var n=we({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Te,t.render=e,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ee=t.__e;t.__e=function(e,t,n,o){if(e.then)for(var r,a=t;a=a.__;)if((r=a.__c)&&r.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t);Ee(e,t,n,o)};var Ae=t.unmount;function Ie(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){"function"==typeof e.__c&&e.__c()}),e.__c.__H=null),null!=(e=we({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Ie(e,t,n)})),e}function ke(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return ke(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function qe(){this.__u=0,this.o=null,this.__b=null}function Oe(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function Re(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ae&&Ae(e)},(qe.prototype=new T).__c=function(e,t){var n=t.__c,o=this;null==o.o&&(o.o=[]),o.o.push(n);var r=Oe(o.__v),a=!1,s=function(){a||o.__z||(a=!0,n.__R=null,r?r(i):i())};n.__R=s;var l=n.__P;n.__P=null;var i=function(){if(! --o.__u){if(o.state.__a){var e=o.state.__a;o.__v.__k[0]=ke(e,e.__c.__P,e.__c.__O)}var t;for(o.setState({__a:o.__b=null});t=o.o.pop();)t.__P=l,t.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(s,s)},qe.prototype.componentWillUnmount=function(){this.o=[]},qe.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Ie(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&C(N,null,e.fallback);return r&&(r.__u&=-33),[C(N,null,t.__a?null:e.children),r]};var Me=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(Re.prototype=new T).__a=function(e){var t=this,n=Oe(t.__v),o=t.l.get(e);return o[0]++,function(r){var a=function(){t.props.revealOrder?(o.push(r),Me(t,e,o)):r()};n?n(a):a()}},Re.prototype.render=function(e){this.i=null,this.l=new Map;var t=M(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Re.prototype.componentDidUpdate=Re.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Me(e,n,t)})};var Le="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Pe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,De=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,He=/[A-Z0-9]/g,Ue="undefined"!=typeof document,Be=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};T.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(T.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var $e=t.event;t.event=function(e){return $e&&(e=$e(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var Ge={configurable:!0,get:function(){return this.class}},Fe=t.vnode;t.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,o={},r=-1==n.indexOf("-");for(var a in t){var s=t[a];if(!("value"===a&&"defaultValue"in t&&null==s||Ue&&"children"===a&&"noscript"===n||"class"===a||"className"===a)){var l=a.toLowerCase();"defaultValue"===a&&"value"in t&&null==t.value?a="value":"download"===a&&!0===s?s="":"translate"===l&&"no"===s?s=!1:"o"===l[0]&&"n"===l[1]?"ondoubleclick"===l?a="ondblclick":"onchange"!==l||"input"!==n&&"textarea"!==n||Be(t.type)?"onfocus"===l?a="onfocusin":"onblur"===l?a="onfocusout":De.test(a)&&(a=l):l=a="oninput":r&&Pe.test(a)?a=a.replace(He,"-$&").toLowerCase():null===s&&(s=void 0),"oninput"===l&&o[a=l]&&(a="oninputCapture"),o[a]=s}}"select"==n&&(o.multiple&&Array.isArray(o.value)&&(o.value=M(t.children).forEach(function(e){e.props.selected=-1!=o.value.indexOf(e.props.value)})),null!=o.defaultValue&&(o.value=M(t.children).forEach(function(e){e.props.selected=o.multiple?-1!=o.defaultValue.indexOf(e.props.value):o.defaultValue==e.props.value}))),t.class&&!t.className?(o.class=t.class,Object.defineProperty(o,"className",Ge)):t.className&&(o.class=o.className=t.className),e.props=o}(e),e.$$typeof=Le,Fe&&Fe(e)};var Ve=t.__r;t.__r=function(e){Ve&&Ve(e),e.__c};var We=t.diffed;function Ke(e){return{render:function(t){!function(e,t,n){null==t.__k&&(t.textContent=""),Z(e,t),"function"==typeof n&&n(),e&&e.__c}(t,e)},unmount:function(){!function(e){!!e.__k&&Z(null,e)}(e)}}}t.diffed=function(e){We&&We(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value)};var Ze=n(500),je=n.n(Ze),ze=n(892),Je=n.n(ze);const Ye=(e,t,n)=>e,Xe=(e,...t)=>{let n=0;return e.replace(/%(\d+\$)?s/g,(e,o)=>{var r,a;return o?null!==(r=t[parseInt(o)-1])&&void 0!==r?r:"":null!==(a=t[n++])&&void 0!==a?a:""})},Qe="persist:qlwapp",et=`${Qe}:2`,tt={id:"",source:"user",text:"",status:"",type:"text"},nt={contactId:null,contactsConversation:{},contactResponseIsLoading:!1,generalConsentAccepted:!1},ot=async(e,t)=>fetch("https://viewer.quick.bot/api"+e,{...t,headers:{Accept:"application/json","Content-Type":"application/json",Origin:window.location.origin}}),rt=(e,t)=>{const n={publicId:e,isStreamEnabled:!1,isOnlyRegistering:!1,textBubbleContentFormat:"markdown"};return t&&(n.message={type:"text",text:t}),JSON.stringify(n)},at=e=>{const t={textBubbleContentFormat:"markdown"};return e&&(t.message={type:"text",text:e}),JSON.stringify(t)},st=()=>{let e=(new Date).getTime();const t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?n:3&n|8).toString(16)});return t};function lt(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function it(e,t){const n={...e};return Object.keys(t).forEach(o=>{const r=e[o],a=t[o];lt(r)&&lt(a)&&!Array.isArray(r)?n[o]=it(r,a):n[o]=a}),n}const ct=e=>{if(!e)return"";const t=e.toLowerCase();return t.startsWith("http://")||t.startsWith("https://")?e:`https://${e}`},_t=function(e){function t(e){var n,o;return this.getChildContext||(n=new Set,(o={})[t.__c]=this,this.getChildContext=function(){return o},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,I(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c="__cC"+m++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}(),ut=(e,t)=>"image"===t?{type:"image",text:ct(e?.url)}:"video"===t?{type:"video",text:(e=>{if(!e)return e;const t=new RegExp("^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*"),n=e.match(t);return n&&11===n[7].length?`https://www.youtube.com/embed/${n[7]}`:e})(ct(e?.url))}:"audio"===t?{type:"audio",text:ct(e?.url)}:"embed"===t?{type:"embed",text:ct(e?.url)}:{type:"text",text:e?.markdown||""},pt=(e,t)=>{const{contacts:n,contactId:o,storeName:r}=t.payload||{};switch(t.type){case"PERSIST_STATE":return((e,t,n=30)=>{let o=localStorage.getItem(e);if(o)o=JSON.parse(o),o.value=t;else{const e=new Date;o={value:t,expiration:new Date(e.getTime()+24*n*60*60*1e3).getTime()}}try{localStorage.setItem(e,JSON.stringify(o))}catch(t){if("QuotaExceededError"===t.name){console.warn("localStorage quota exceeded. Attempting to clear old data...");try{localStorage.removeItem(e),localStorage.setItem(e,JSON.stringify(o))}catch(e){console.error("Failed to save to localStorage even after clearing:",e)}}else console.error("Error saving to localStorage:",t)}})(r,{...e,contactsHash:Je()(JSON.stringify(t.payload.contacts))}),e;case"HYDRATE_STATE":const a=(e=>{const t=localStorage.getItem(e);if(t){const n=JSON.parse(t);return(new Date).getTime()>n.expiration?(localStorage.removeItem(e),null):n.value}return null})(r),s=Je()(JSON.stringify(n));return a?a.contactsHash!==s?{...nt,contactsHash:s}:(n.find(e=>"bot"===e.type?e.bot_id===o:e.id===o)||(a.contactId=null),a.contactsConversation&&Object.keys(a.contactsConversation).forEach(e=>{a.contactsConversation[e]?.clientSideAction&&(a.contactsConversation[e].clientSideAction=null)}),{...a}):e;case"SET_CONTACT_ID":if(null===o)return{...e,contactId:null};const l=n.find(e=>"bot"===e.type?e.bot_id===o:e.id===o),i="bot"===l?.type,c=i?"":l?.message||"",_=e.contactsConversation[o];return!_||!i&&(_?.messageListArray?.[0]?.text||"")!==c?it(e,{contactId:o,contactsConversation:{[o]:{clientSideAction:null,messageListArray:""!==c?[{id:"",source:"user",text:c,status:""}]:[],sessionId:null,threadOpenaiId:""}}}):{...e,contactId:o};case"SET_GENERAL_CONSENT_ACCEPTED":const{accepted:u}=t.payload;return{...e,generalConsentAccepted:u};case"SET_CONTACT_CONVERSATION_MESSAGE":const p=[...e.contactsConversation[e.contactId]?.messageListArray||[],{...t.payload}];return it(e,{contactsConversation:{[e.contactId]:{messageListArray:p}}});case"SET_CONTACT_CONVERSATION_RESPONSE_IS_LOADING":return it(e,{contactResponseIsLoading:t.payload});case"UPDATE_CONTACT_CONVERSATION_MESSAGE":{const{id:n,message:o}=t.payload,r=e.contactsConversation[e.contactId].messageListArray.findIndex(e=>e.id===n),a=it(e.contactsConversation[e.contactId].messageListArray[r]||"",o),s=[...e.contactsConversation[e.contactId].messageListArray];return s.splice(r,1,a),it(e,{contactsConversation:{[e.contactId]:{messageListArray:s}}})}case"REMOVE_CONTACT_CONVERSATION_MESSAGE":{const{id:n,status:o}=t.payload,r=e.contactsConversation[e.contactId].messageListArray,a="error"===o?r.filter(e=>"error"!==e.status):r.filter(e=>e.id!==n);return it(e,{contactsConversation:{[e.contactId]:{messageListArray:a}}})}case"SET_SESSION_ID":return it(e,{contactsConversation:{[e.contactId]:{sessionId:t.payload.sessionId}}});case"SET_USER_INPUTS":return it(e,{contactsConversation:{[e.contactId]:{userInputs:t.payload}}});case"SET_CLIENT_SIDE_ACTION":return it(e,{contactsConversation:{[e.contactId]:{clientSideAction:t.payload}}});case"RESET_CONTACT_CONVERSATION":return it(e,{contactResponseIsLoading:!1,contactsConversation:{[e.contactId]:{clientSideAction:null,messageListArray:[],userInputs:[],sessionId:null}}})}return e},dt=()=>function(e){var t=z.context[e.__c],n=le(j++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(z)),t.props.value):e.__}(_t),ft=e=>{const{contacts:t,children:n}=e,[o,r]=ce(pt,nt),a=ue(0),s=et,l=de(()=>{try{const e=[];for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&n.startsWith(Qe)&&n!==et&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch(e){console.warn("Failed to cleanup old storage entries:",e)}},[]),i=de(()=>{r({type:"PERSIST_STATE",payload:{contacts:t,storeName:s}})},[t,s]),c=de(()=>{r({type:"HYDRATE_STATE",payload:{contacts:t,storeName:s}})},[t,s]),_=e=>{const{type:t,items:n,options:o}=e,a=o?.labels,s=o?.defaultCountryCode,l=o?.hasTime,i=o?.isRange,c=o?.format,_=[t,n,a,s,l,i,c].every(e=>void 0===e)?void 0:{type:t,items:n,labels:a,defaultCountryCode:s,hasTime:l,isRange:i,format:c};r({type:"SET_USER_INPUTS",payload:_})},u=e=>{const t=st();return r({type:"SET_CONTACT_CONVERSATION_MESSAGE",payload:{...tt,...e,source:"user",id:t}}),t},p=e=>{const t=st(),n={...tt,...e,source:"agent",id:t};return r({type:"SET_CONTACT_CONVERSATION_MESSAGE",payload:n}),t},d=e=>{r({type:"SET_CONTACT_CONVERSATION_RESPONSE_IS_LOADING",payload:e})},f=e=>{r({type:"UPDATE_CONTACT_CONVERSATION_MESSAGE",payload:e})},m=({id:e,status:t})=>{r({type:"REMOVE_CONTACT_CONVERSATION_MESSAGE",payload:{id:e,status:t}})},h=e=>{r({type:"SET_CLIENT_SIDE_ACTION",payload:e})},v=de(async e=>{if(!o.contactId)return;a.current+=1;const t=a.current,n=()=>a.current!==t;d(!0),_([]),h(null),m({status:"error"}),e&&u({text:e});const s=p({status:"waiting"}),l=o.contactsConversation[o.contactId]?.sessionId;try{let t;if(t=l?await(async(e,t)=>{try{const n=await ot(`/v1/conversations/${e}/messages`,{method:"POST",body:at(t)}),o=await n.json();return n.ok?{ok:!0,data:o}:{ok:!1,code:o?.code||"unknown_error",message:o?.message||"Request failed"}}catch(e){return console.error("sendMessage unexpected error:",e),{ok:!1,code:e?.code||"unknown_error",message:e?.message||"Request failed"}}})(l,e):await(async(e,t)=>{try{const n="/v1/conversations",o=await ot(n,{method:"POST",body:rt(e,t)}),r=await o.json();return o.ok?{ok:!0,data:r}:{ok:!1,code:r?.code||"unknown_error",message:r?.message||"Request failed"}}catch(e){return console.error("starChat unexpected error:",e),{ok:!1,code:e?.code||"unknown_error",message:e?.message||"Request failed"}}})(o.contactId,e||""),!t.ok)return f({id:s,message:{text:t.message||"There was an error with the response. Please try again.",status:"error"}}),void d(!1);l||(i=t.data.sessionId,r({type:"SET_SESSION_ID",payload:{sessionId:i}}));const{messages:a,input:c,clientSideActions:u}=t.data;if(0===a?.length)m({id:s}),n()||d(!1);else for(let e=0;e<a.length&&!n();e++){const{content:t,type:o}=a[e],r=ut(t,o);if(0===e)f({id:s,message:{...r,status:"success"}});else{const e=p({status:"waiting"});if(await new Promise(e=>setTimeout(e,1500)),n()){m({id:e});break}f({id:e,message:{...r,status:"success"}})}}n()||(c&&_(c),u?.length&&u.forEach(e=>{if("redirect"===e.type){const{isNewTab:t,url:n}=e.redirect;h({type:"redirect",isNewTab:t,url:n})}}),d(!1))}catch(e){return n()||(f({id:s,message:{text:"There was an error with the response. Please try again.",status:"error"}}),d(!1)),null}var i},[o.contactId,o.contactsConversation]);return _e(()=>{l()},[l]),_e(()=>{c()},[c]),_e(()=>{i()},[o,i]),C(_t.Provider,{value:{...o,...e,setContactId:e=>{r({type:"SET_CONTACT_ID",payload:{contacts:t,contactId:e,storeName:s}})},setContactConversationMessageUser:u,setContactConversationMessageAgent:p,setContactConversationResponseIsLoading:d,updateContactConversationMessage:f,setUserInputs:_,chatWithBot:v,resetContactConversation:()=>{a.current+=1,r({type:"RESET_CONTACT_CONVERSATION"})},setGeneralConsentAccepted:e=>{r({type:"SET_GENERAL_CONSENT_ACCEPTED",payload:{accepted:e}})}}},n)},mt=()=>C("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},C("path",{d:"M20.563 22.104l-1.875 1.875-8-8 8-8 1.875 1.875-6.125 6.125z"})),ht=()=>C("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},C("path",{d:"M12.001 2C6.47813 2 2.00098 6.47715 2.00098 12C2.00098 13.8893 2.50433 15.6617 3.38779 17.1902L2.05176 21.9922L6.97471 20.6842C8.45617 21.4958 10.1729 21.9999 12.001 21.9999C17.5238 21.9999 22.001 17.5228 22.001 11.9999C22.001 6.47706 17.5238 2 12.001 2ZM8.49659 7.3125C8.67819 7.3125 8.86375 7.31328 9.02603 7.32031C9.22603 7.32734 9.44788 7.34053 9.65845 7.82813C9.90845 8.39648 10.4397 9.76758 10.5084 9.91016C10.577 10.0527 10.6221 10.2198 10.5303 10.4023C10.4385 10.5848 10.3928 10.6987 10.2513 10.8633C10.1097 11.0273 9.95431 11.2295 9.82618 11.3574C9.68399 11.499 9.53643 11.653 9.70165 11.9355C9.86688 12.2181 10.4347 13.1504 11.2822 13.9082C12.3713 14.8828 13.2886 15.1826 13.5713 15.3252C13.854 15.4678 14.0226 15.4443 14.1878 15.2598C14.353 15.0752 14.8979 14.4336 15.0859 14.1504C15.274 13.8672 15.4619 13.916 15.7212 14.0117C15.9806 14.1074 17.3516 14.7773 17.6343 14.9199C17.917 15.0625 18.1059 15.1348 18.1748 15.2539C18.2441 15.373 18.2441 15.9414 18.0098 16.6074C17.7754 17.2734 16.6284 17.9072 16.1064 17.9531C15.5845 17.999 15.0918 18.1928 12.7432 17.2754C9.91772 16.1738 8.09619 13.3047 7.95361 13.1152C7.81103 12.9258 6.80176 11.5723 6.80176 10.1719C6.80176 8.77148 7.52759 8.08398 7.7876 7.79883C8.04736 7.51367 8.31494 7.3125 8.49659 7.3125Z"})),vt={phone:ht,group:()=>C("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},C("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"})),bot:()=>C("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"},C("path",{fillRule:"evenodd",d:"M13.5 2C13.5 2.44425 13.3069 2.84339 13 3.11805V5H18C19.6569 5 21 6.34315 21 8V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V8C3 6.34315 4.34315 5 6 5H11V3.11805C10.6931 2.84339 10.5 2.44425 10.5 2C10.5 1.17157 11.1716 0.5 12 0.5C12.8284 0.5 13.5 1.17157 13.5 2ZM2 10H0V16H2V10ZM22 10H24V16H22V10ZM10.5 13C10.5 13.8284 9.82843 14.5 9 14.5C8.17157 14.5 7.5 13.8284 7.5 13C7.5 12.1716 8.17157 11.5 9 11.5C9.82843 11.5 10.5 12.1716 10.5 13ZM15 14.5C15.8284 14.5 16.5 13.8284 16.5 13C16.5 12.1716 15.8284 11.5 15 11.5C14.1716 11.5 13.5 12.1716 13.5 13C13.5 13.8284 14.1716 14.5 15 14.5Z"}))},gt=({contact:e})=>{const{box:t}=dt(),n=e?.type||"phone";return C("div",{className:"qlwapp__avatar"},C("div",{className:"qlwapp__avatar__type-badge","aria-hidden":"true"},C(vt[n]||ht,null)),C("span",{className:"qlwapp__avatar__sr-only"},n),C("div",{className:"qlwapp__avatar__container"},e?.avatar?function(e){try{return new URL(e),!0}catch(e){return!1}}(e.avatar)?C("img",{src:e.avatar,alt:e.firstname,loading:"yes"===t.lazy_load&&"lazy"}):C("div",{className:"qlwapp__avatar__container qlwapp__avatar__container--icon"},C("span",null,e?.avatar)):C("div",{className:"qlwapp__avatar__container qlwapp__avatar__container--icon"},C("span",null,e?.name?.charAt(0).toUpperCase()))))},yt=()=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 32 32"},C("path",{fill:"currentColor",d:"M27 8H6.83l3.58-3.59L9 3L3 9l6 6l1.41-1.41L6.83 10H27v16H7v-7H5v7a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2"})),bt=(e,t)=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(e))},wt=()=>{const{contactId:e,contacts:t,resetContactConversation:n}=dt(),o=t.find(t=>"bot"===t.type?t.bot_id===e:t.id===e);if("bot"===o?.type)return C("a",{className:"qlwapp__previous qlwapp__reset",title:"Reset conversation",onClick:()=>n(),onKeyDown:e=>bt(e,()=>n()),role:"button",tabIndex:"0"},C(yt,null))},Ct=({onClose:e,onPrevious:t})=>{const{contactId:n,box:o,contacts:r,contactResponseIsLoading:a}=dt(),s=r.find(e=>"bot"===e.type?e.bot_id===n:e.id===n);return C("div",{className:"qlwapp__header"},C("i",{className:"qlwapp__close",onClick:e,onKeyDown:t=>bt(t,e),role:"button",tabIndex:"0"},"×"),C("div",{className:"qlwapp__carousel"},C("div",{className:"qlwapp__carousel-slide"},o.header&&C("div",{className:"qlwapp__header-description",dangerouslySetInnerHTML:{__html:o.header}})),C("div",{className:"qlwapp__carousel-slide"},C("div",{className:"qlwapp__header-contact"},C("div",{className:"qlwapp__header-contact-buttons"},C("a",{className:je()("qlwapp__previous",a&&"qlwapp__previous--disabled"),onClick:t,onKeyDown:e=>bt(e,t),role:"button",tabIndex:"0"},C(mt,null)),C(wt,null)),C("div",{className:"qlwapp__info"},C("span",{className:"qlwapp__name"},`${s?.firstname} ${s?.lastname}`),C("span",{className:"qlwapp__time"},s?.timefrom!==s?.timeto&&Xe(Ye("Available from %1$s to %2$s"),s?.timefrom,s?.timeto),s?.label&&` - ${s?.label}`)),C(gt,{contact:s})))))},St=()=>C("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},C("path",{d:"M2.776 31.54c-1.954 1.036-3.144 0.122-2.658-2.038l2.066-9.17c0.246-1.086 1.318-2.068 2.432-2.2l12.39-1.44c3.296-0.38 3.308-0.996 0-1.374l-12.39-1.416c-1.1-0.126-2.18-1.080-2.424-2.17l-2.080-9.264c-0.486-2.146 0.704-3.046 2.662-2.006l25.7 13.658c1.956 1.038 1.96 2.72 0 3.76l-25.7 13.66z"})),Nt=()=>{const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=window.matchMedia("(pointer:coarse)");return t&&t.matches||e},Tt=({type:e,group:t,phone:n,message:o,whatsapp_link_type:r="web"})=>{const a=Nt()?"api":r,s="api"===a?"https://api.whatsapp.com/send":"https://web.whatsapp.com/send";if("group"===e){const e=(e=>{try{const t=new URL(e);if("chat.whatsapp.com"===t.hostname)return t.pathname.replace("/","");if("web.whatsapp.com"===t.hostname&&"/accept"===t.pathname)return t.searchParams.get("code")}catch(e){console.error("Invalid URL",e)}return null})(t);return"api"===a?`https://chat.whatsapp.com/${e}`:`https://web.whatsapp.com/accept?code=${e}`}return`${s}?phone=${function(e){return(e=e.replace(new RegExp("[^0-9]","g"),"")).replace(new RegExp("^0+"),"")}(n?.toString())}&text=${encodeURIComponent(function(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}(o))}`};function xt(e){const t=Tt(e),n=new CustomEvent("qlwapp.click",{bubbles:!0,cancelable:!0});window.dispatchEvent(n),window.open(t,"_blank","noreferrer")}const Et={AC:"+247",AD:"+376",AE:"+971",AF:"+93",AG:"+1268",AI:"+1264",AL:"+355",AM:"+374",AO:"+244",AR:"+54",AS:"+1684",AT:"+43",AU:"+61",AW:"+297",AX:"+358",AZ:"+994",BA:"+387",BB:"+1246",BD:"+880",BE:"+32",BF:"+226",BG:"+359",BH:"+973",BI:"+257",BJ:"+229",BL:"+590",BM:"+1441",BN:"+673",BO:"+591",BQ:"+599",BR:"+55",BS:"+1242",BT:"+975",BW:"+267",BY:"+375",BZ:"+501",CA:"+1",CC:"+61",CD:"+243",CF:"+236",CG:"+242",CH:"+41",CI:"+225",CK:"+682",CL:"+56",CM:"+237",CN:"+86",CO:"+57",CR:"+506",CU:"+53",CV:"+238",CW:"+599",CX:"+61",CY:"+357",CZ:"+420",DE:"+49",DJ:"+253",DK:"+45",DM:"+1767",DO:"+1809",DZ:"+213",EC:"+593",EE:"+372",EG:"+20",ER:"+291",ES:"+34",ET:"+251",FI:"+358",FJ:"+679",FK:"+500",FM:"+691",FO:"+298",FR:"+33",GA:"+241",GB:"+44",GD:"+1473",GE:"+995",GF:"+594",GG:"+44",GH:"+233",GI:"+350",GL:"+299",GM:"+220",GN:"+224",GP:"+590",GQ:"+240",GR:"+30",GT:"+502",GU:"+1671",GW:"+245",GY:"+592",HK:"+852",HN:"+504",HR:"+385",HT:"+509",HU:"+36",ID:"+62",IE:"+353",IL:"+972",IM:"+44",IN:"+91",IO:"+246",IQ:"+964",IR:"+98",IS:"+354",IT:"+39",JE:"+44",JM:"+1876",JO:"+962",JP:"+81",KE:"+254",KG:"+996",KH:"+855",KI:"+686",KM:"+269",KN:"+1869",KP:"+850",KR:"+82",KW:"+965",KY:"+1345",KZ:"+7",LA:"+856",LB:"+961",LC:"+1758",LI:"+423",LK:"+94",LR:"+231",LS:"+266",LT:"+370",LU:"+352",LV:"+371",LY:"+218",MA:"+212",MC:"+377",MD:"+373",ME:"+382",MF:"+590",MG:"+261",MH:"+692",MK:"+389",ML:"+223",MM:"+95",MN:"+976",MO:"+853",MP:"+1670",MQ:"+596",MR:"+222",MS:"+1664",MT:"+356",MU:"+230",MV:"+960",MW:"+265",MX:"+52",MY:"+60",MZ:"+258",NA:"+264",NC:"+687",NE:"+227",NF:"+672",NG:"+234",NI:"+505",NL:"+31",NO:"+47",NP:"+977",NR:"+674",NU:"+683",NZ:"+64",OM:"+968",PA:"+507",PE:"+51",PF:"+689",PG:"+675",PH:"+63",PK:"+92",PL:"+48",PM:"+508",PR:"+1787",PS:"+970",PT:"+351",PW:"+680",PY:"+595",QA:"+974",RE:"+262",RO:"+40",RS:"+381",RU:"+7",RW:"+250",SA:"+966",SB:"+677",SC:"+248",SD:"+249",SE:"+46",SG:"+65",SH:"+290",SI:"+386",SJ:"+47",SK:"+421",SL:"+232",SM:"+378",SN:"+221",SO:"+252",SR:"+597",SS:"+211",ST:"+239",SV:"+503",SX:"+1721",SY:"+963",SZ:"+268",TC:"+1649",TD:"+235",TG:"+228",TH:"+66",TJ:"+992",TK:"+690",TL:"+670",TM:"+993",TN:"+216",TO:"+676",TR:"+90",TT:"+1868",TV:"+688",TW:"+886",TZ:"+255",UA:"+380",UG:"+256",US:"+1",UY:"+598",UZ:"+998",VA:"+39",VC:"+1784",VE:"+58",VG:"+1284",VI:"+1340",VN:"+84",VU:"+678",WF:"+681",WS:"+685",XK:"+383",YE:"+967",YT:"+262",ZA:"+27",ZM:"+260",ZW:"+263"},At=Object.entries(Et).map(([e,t])=>({iso:e,dialCode:t})).sort((e,t)=>e.iso.localeCompare(t.iso)),It=()=>{const{button:e,box:t,contacts:n,contactId:o,contactsConversation:r,contactResponseIsLoading:a,chatWithBot:s,generalConsentAccepted:l}=dt(),i=n.find(e=>"bot"===e.type?e.bot_id===o:e.id===o),[c,_]=ie(""),[u,p]=ie(""),[d,f]=ie(""),[m,h]=ie(""),v=ue(),g=ue(null),{userInputs:y,threadOpenaiId:b}=r[o]||{},w="phone number input"===y?.type,S=["text input","email input","number input","url input","phone number input"],T=e=>S.includes(e),x=e=>"date input"===e,E=x(y?.type)&&!!y?.isRange,A="bot"!==i?.type||"bot"===i?.type&&(T(y?.type)||x(y?.type));_e(()=>{if(w){const e=y?.defaultCountryCode?.toUpperCase()||"US";p(Et[e]?e:"US"),_("")}},[w,y?.defaultCountryCode]),_e(()=>{E&&(f(""),h(""))},[E]),_e(()=>{A&&v.current&&v.current.focus()},[A]);const I="yes"===t?.consent_enabled&&!l,k=(E?!d||!m:!c.trim())||a||I,q=(e=!1)=>{const t=v.current;t&&(t.style.height="",e||""===c||(t.style.height=`${t.scrollHeight}px`))},O=e=>{e.preventDefault();let t=e.target.value;w&&(t=t.replace(new RegExp("[^\\d\\s-]","g"),"")),_(t),q()},R=t=>{t.preventDefault(),(()=>{if(k)return;let t;E?(t=`${d} to ${m}`,f(""),h("")):(t=c.trim(),w&&(t=Et[u]+t),_(""),q(!0)),"bot"===i?.type?s(t):xt({...i,message:t,whatsapp_link_type:e.whatsapp_link_type})})()},M=de(e=>{if(g.current&&(g.current.disconnect(),g.current=null),!e)return;const t=()=>{const t=e.getBoundingClientRect().width;document.documentElement.style.setProperty("--qlwapp-button-width",`${t}px`)};t();const n=requestAnimationFrame(t),o=new ResizeObserver(t);return o.observe(e),g.current=o,()=>{cancelAnimationFrame(n),o.disconnect()}},[]),L="bot"===i?.type&&!a&&""===b&&!y;return C(N,null,t?.footer&&C("div",{className:"qlwapp__footer",dangerouslySetInnerHTML:{__html:t.footer}}),A&&C("div",{className:"qlwapp__response"},w&&C("select",{className:"qlwapp__country-selector",value:u,onChange:e=>p(e.target.value),disabled:I,"aria-label":"Country code"},At.map(({iso:e,dialCode:t})=>C("option",{key:e,value:e},e.toUpperCase().split("").map(e=>String.fromCodePoint(e.charCodeAt(0)+127397)).join("")," ",t))),(T(y?.type)||"bot"!==i?.type)&&C(N,null,C("pre",{className:je()("qlwapp__response__input",w&&"qlwapp__response__input--phone")},c),C("textarea",{className:je()("qlwapp__response__input",w&&"qlwapp__response__input--phone"),name:"message",ref:v,maxLength:"300",onChange:O,onKeyDown:e=>{e.shiftKey&&"Enter"===e.key||"Enter"!==e.key||k||R(e)},value:c,placeholder:(()=>{if("bot"!==i?.type)return t?.response;if(!y?.labels?.placeholder){const e=y?.type.split(" ")[0]||"text";return Xe("Type your %s",e)}return y?.labels?.placeholder})(),"aria-label":t?.response,tabIndex:"0",disabled:a||I})),x(y?.type)&&!E&&C("input",{type:y?.hasTime?"datetime-local":"date",className:"qlwapp__response__input",onChange:O,disabled:I,required:!0}),E&&C("div",{className:"qlwapp__response__date-range"},C("label",{className:"qlwapp__response__date-range__label"},y?.labels?.from||"From:"),C("input",{type:y?.hasTime?"datetime-local":"date",className:"qlwapp__response__input",value:d,max:m||void 0,onChange:e=>f(e.target.value),disabled:I,required:!0}),C("label",{className:"qlwapp__response__date-range__label"},y?.labels?.to||"To:"),C("input",{type:y?.hasTime?"datetime-local":"date",className:"qlwapp__response__input",value:m,min:d||void 0,onChange:e=>h(e.target.value),disabled:I,required:!0})),C("div",{className:"qlwapp__response__buttons",ref:M},C("a",{className:je()("qlwapp__reply",k&&"qlwapp__reply--disabled"),role:"button",tabIndex:"0",onClick:R,title:"Send",target:"bot"!==i?.type?"blank":void 0},C(St,null)))),L&&C("div",{className:"qlwapp__response qlwapp__response--end-conversation"},C("pre",{className:"qlwapp__response__input"},"This conversation has ended.")))};function kt(e,t){return parseInt(e+t)}function qt(e){let t=""+e.getMinutes();return 1===t.length&&(t="0"+t),e.getHours()+":"+t}const Ot=({timezone:e,timefrom:t,timeto:n,timedays:o})=>{const r=(({timedays:e})=>{const t=(new Date).getDay().toString();return e?.includes(t)||0===e?.length})({timedays:o}),a=function(e){let t=0;if(e?.includes("UTC")){const n=e.replace(new RegExp("UTC\\+?"),"");isNaN(n)||(t=60*parseInt(n))}else try{const n=(new Date).toLocaleString("en-US",{timeZone:e});t=(new Date(n+" UTC")-new Date)/6e4}catch(e){return 0}return t}(e),s=new Date,l=new Date,i=new Date;let c=l.getTime(),_=s.getTime();if(t!==n){const e=-i.getTimezoneOffset()-(a||0);let o,u;o=kt(t[0],t[1]),u=kt(t[3],t[4]),l.setHours(o),l.setMinutes(u+e),c=l.getTime(),o=kt(n[0],n[1]),u=kt(n[3],n[4]),s.setHours(o),s.setMinutes(u+e),_=s.getTime(),c>_&&(c-=864e5);const p=c<=i.getTime()&&i.getTime()<=_;return{isAvailableNow:r&&p,isInAvailableDay:r,isInAvailableHour:p,timefrom:qt(l),timeto:qt(s)}}return{isAvailableNow:r,isInAvailableDay:r,isInAvailableHour:!0}};function Rt(e,t){return!!e.includes(parseInt(t))||!!e.includes(t.toString())}function Mt({timedays:e,timezone:t}){const n=function(e){try{let t=new Date;const n={weekday:"long"},o=function(e){const t=e.match(new RegExp("^UTC([+-]\\d{1,2})$"));return t?60*parseInt(t[1],10)*60*1e3:null}(e);if(null!==o){const e=new Date(t.getTime()+6e4*t.getTimezoneOffset()+o);n.timeZone="UTC",t=e}else n.timeZone=e;return{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6}[new Intl.DateTimeFormat("en-US",n).formatToParts(t).find(e=>"weekday"===e.type).value]}catch(e){return null}}(t);if(null===n)return!1;const o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];for(let t=n;t<=6;t++)if(Rt(e,t))return o[t];for(let t=0;t<n;t++)if(Rt(e,t))return o[t];return!1}const Lt=({contact:e,onClick:t})=>{const{box:n,generalConsentAccepted:o}=dt(),{isAvailableNow:r,isInAvailableDay:a,isInAvailableHour:s,timefrom:l,timeto:i}=Ot(e);if(!r&&"hidden"===e.visibility)return;const c=Mt(e),_="yes"===n?.consent_enabled&&!o;return C("a",{className:je()("qlwapp__contact",!r&&"readonly"===e.visibility||_?"qlwapp__contact--disabled":""),onClick:t,onKeyDown:bt,role:"button",tabIndex:"0",target:"_blank"},C(gt,{contact:e}),C("div",{className:"qlwapp__info"},C("span",{className:"qlwapp__label"},e?.label),C("span",{className:"qlwapp__name"},"bot"===e?.type?e?.firstname:`${e?.firstname} ${e?.lastname}`),"with_status"===e?.visibility&&C("div",{className:"qlwapp__status qlwapp__info"},C("div",{className:"qlwapp__status__indicator "+(r?"qlwapp__status__indicator--online":"qlwapp__status__indicator--offline")}),C("span",{className:"qlwapp__status__text"},r?"Online":"Offline")),a?!s&&C("span",{className:"qlwapp__time"},Xe(Ye("Available from %1$s to %2$s"),l,i)):c&&C("span",{className:"qlwapp__time"},Xe(Ye("Available on %s"),c))))},Pt=({onClick:e})=>{const[,t]=(()=>{const[e,t]=ie(!1);return[e,e=>{t(!0),setTimeout(()=>{e(),t(!1)},0)}]})(),n=ue(null),{box:o,button:r,contacts:a,setContactId:s,generalConsentAccepted:l}=dt(),i=n=>a=>{a.preventDefault(),"yes"===o?.consent_enabled&&!l||(n.chat||"bot"===n?.type?(e("qlwapp__modal--opening"),t(()=>{s("bot"===n.type?n.bot_id:n.id)})):xt({...n,whatsapp_link_type:r.whatsapp_link_type}))},c=()=>{const e=document.querySelector(".qlwapp__header")?.offsetHeight,t=o.footer?document.querySelector(".qlwapp__footer")?.offsetHeight:document.querySelector(".qlwapp__response")?.offsetHeight;let n=window.innerHeight-e-t;Nt()&&(n=.7*window.innerHeight-e-t),document.documentElement.style.setProperty("--qlwapp-scheme-box-height",`${n}px`)};return _e(()=>(window.addEventListener("resize",c()),window.addEventListener("load",c()),()=>{window.removeEventListener("resize",c()),window.removeEventListener("load",c())}),[]),_e(()=>{const e=n.current;if(!e)return;const t=t=>{const n=e.scrollTop<=0,o=Math.ceil(e.scrollTop)+e.clientHeight>=e.scrollHeight;(n&&t.deltaY<0||o&&t.deltaY>0)&&t.preventDefault()};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[]),C("div",{ref:n,className:"qlwapp__contact-list"},a.length?a.map(e=>C(Lt,{key:e.id,contact:e,onClick:i(e)})):C("div",{className:"qlwapp__contact-list__empty"},"No contacts found."))},Dt=()=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},C("circle",{cx:"18",cy:"12",r:"0",fill:"currentColor"},C("animate",{attributeName:"r",begin:".67",calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"})),C("circle",{cx:"12",cy:"12",r:"0",fill:"currentColor"},C("animate",{attributeName:"r",begin:".33",calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"})),C("circle",{cx:"6",cy:"12",r:"0",fill:"currentColor"},C("animate",{attributeName:"r",begin:"0",calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"})));var Ht={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function Ut(e){return e.replace(RegExp("^"+(e.match(/^(\t|)+/)||"")[0],"gm"),"")}function Bt(e){return(e+"").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $t(e,t){var n,o,r,a,s,l=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t|  {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|(\n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,i=[],c="",_=t||{},u=0;function p(e){var t=Ht[e[1]||""],n=i[i.length-1]==e;return t?t[1]?(n?i.pop():i.push(e),t[0|n]):t[0]:e}function d(){for(var e="";i.length;)e+=p(i[i.length-1]);return e}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(e,t,n){return _[t.toLowerCase()]=n,""}).replace(/^\n+|\n+$/g,"");r=l.exec(e);)o=e.substring(u,r.index),u=l.lastIndex,n=r[0],o.match(/[^\\](\\\\)*\\$/)||((s=r[3]||r[4])?n='<pre class="code '+(r[4]?"poetry":r[2].toLowerCase())+'"><code'+(r[2]?' class="language-'+r[2].toLowerCase()+'"':"")+">"+Ut(Bt(s).replace(/^\n+|\n+$/g,""))+"</code></pre>":(s=r[6])?(s.match(/\./)&&(r[5]=r[5].replace(/^\d+/gm,"")),a=$t(Ut(r[5].replace(/^\s*[>*+.-]/gm,""))),">"==s?s="blockquote":(s=s.match(/\./)?"ol":"ul",a=a.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),n="<"+s+">"+a+"</"+s+">"):r[8]?n='<img src="'+Bt(r[8])+'" alt="'+Bt(r[7])+'">':r[10]?(c=c.replace("<a>",'<a href="'+Bt(r[11]||_[o.toLowerCase()])+'">'),n=d()+"</a>"):r[9]?n="<a>":r[12]||r[14]?n="<"+(s="h"+(r[14]?r[14].length:r[13]>"="?1:2))+">"+$t(r[12]||r[15],_)+"</"+s+">":r[16]?n="<code>"+Bt(r[16])+"</code>":(r[17]||r[1])&&(n=p(r[17]||"--"))),c+=o,c+=n;return(c+e.substring(u)+d()).replace(/^\n+|\n+$/g,"")}function Gt(e){if(null==e)return"";const t=new RegExp("(https?:\\/\\/[^\\s<]+)","g"),n=[];let o=$t(e.replace(t,e=>{const t=`URLPLACEHOLDER${n.length}URLPLACEHOLDER`;return n.push(e),t}));return n.forEach((e,t)=>{const n=`URLPLACEHOLDER${t}URLPLACEHOLDER`;o=o.replace(n,e)}),o}const Ft=({text:e,status:t,source:n,type:o})=>{const r=["image","video","audio","embed"].includes(o)?e:Gt((e=>{if(!e||"string"!=typeof e)return e;const t=document.createElement("textarea");return t.innerHTML=e,t.value.replace(new RegExp("&","g"),"&amp;").replace(new RegExp("<","g"),"&lt;").replace(new RegExp(">","g"),"&gt;").replace(new RegExp('"',"g"),"&quot;").replace(new RegExp("'","g"),"&#039;").replace(new RegExp("\\n","g"),"<br>")})(e)),a={__html:r};return C("div",{className:je()("qlwapp__message",n&&`qlwapp__message--${n}`,t&&`qlwapp__message--${t}`,o&&`qlwapp__message--${o}`)},(()=>{if("waiting"===t)return C("span",{className:"qlwapp__message--spinner"},C(Dt,null));switch(o){case"image":return C("img",{className:"qlwapp__message--image",src:e,alt:e});case"video":return e.includes("youtube.com/embed/")?C("iframe",{className:"qlwapp__message--video-embed",src:e,title:"Video content",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0}):C("video",{className:"qlwapp__message--video",controls:!0,src:e},"Your browser does not support the video tag.");case"audio":return C("audio",{className:"qlwapp__message--audio",controls:!0,src:e},"Your browser does not support the audio tag.");case"embed":return C("iframe",{className:"qlwapp__message--embed",src:e,title:"Embedded content",frameBorder:"0",allowFullScreen:!0});default:return C("div",{dangerouslySetInnerHTML:a})}})())},Vt={buttonType:"Numbers",length:10,labels:{button:"Send"},startsAt:1,customIcon:{isEnabled:!1},isOneClickSubmitEnabled:!1},Wt=({rating:e,idx:t,onClick:n,buttonType:o,customIcon:r,isOneClickSubmitEnabled:a})=>{const s=e=>{e.preventDefault(),n(t)},l=void 0!==e&&t<=e;if("Numbers"===o)return a?C("button",{type:"button",className:"qlwapp__message qlwapp__message--choice-input",onClick:s},t):C("div",{role:"checkbox","aria-checked":l,tabIndex:0,onClick:s,onKeyDown:e=>bt(e,s),className:"qlwapp__rating-number "+(l?"qlwapp__rating-number--selected":"")},t);const i=r?.isEnabled&&r?.svg?r.svg:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-star"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>';return C("div",{className:"qlwapp__rating-icon "+(l?"qlwapp__rating-icon--selected":""),onClick:s,onKeyDown:e=>bt(e,s),role:"checkbox","aria-checked":l,tabIndex:0,dangerouslySetInnerHTML:{__html:i}})},Kt=({options:e={},onSubmit:t})=>{const[n,o]=ie(void 0),r={...Vt,...e,labels:{...Vt.labels,...e.labels},customIcon:{...Vt.customIcon,...e.customIcon}},a=e=>{r.isOneClickSubmitEnabled?t(e.toString()):o(e)},s=r.buttonType||"Numbers",l=r.length||10,i="Numbers"===s&&r.startsAt||1,c="Numbers"===s?l-(i-1):l,_=[];for(let e=0;e<c;e++){const t="Numbers"===s?e+i:e+1;_.push(t)}return C("form",{className:"qlwapp__rating-form",onSubmit:e=>{e.preventDefault(),void 0!==n&&t(n.toString())}},r.labels?.left&&C("span",{className:"qlwapp__rating-label qlwapp__rating-label--left"},r.labels.left),C("div",{className:"qlwapp__rating-buttons"},_.map(e=>C(Wt,{key:e,idx:e,rating:n,buttonType:s,customIcon:r.customIcon,isOneClickSubmitEnabled:r.isOneClickSubmitEnabled,onClick:a}))),r.labels?.right&&C("span",{className:"qlwapp__rating-label qlwapp__rating-label--right"},r.labels.right),C("div",{className:"qlwapp__rating-submit"},void 0!==n&&C("button",{type:"submit",className:"qlwapp__message qlwapp__message--choice-input"},r.labels?.button||Vt.labels.button)))},Zt=()=>{const e=ue(null),t=ue(null),[n,o]=ie(!1),{contactId:r,contactsConversation:a,chatWithBot:s,contactResponseIsLoading:l,contacts:i}=dt(),c=i?.some(e=>"bot"===e.type&&e.bot_id===r),{messageListArray:_=[],userInputs:u,sessionId:p,clientSideAction:d}=a[r]||{messageListArray:[]};return _e(()=>{e.current&&_.length>0&&setTimeout(()=>{e.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[700])},[_]),_e(()=>{null===p&&c&&s()},[p,c]),_e(()=>{const e=t.current;if(!e)return;const n=t=>{const n=e.scrollTop<=0,o=Math.ceil(e.scrollTop)+e.clientHeight>=e.scrollHeight;(n&&t.deltaY<0||o&&t.deltaY>0)&&t.preventDefault()};return e.addEventListener("wheel",n,{passive:!1}),()=>e.removeEventListener("wheel",n)},[]),_e(()=>{d&&"redirect"===d?.type?d?.isNewTab?window.open(d.url,"_blank")||o(!0):window.location.href=d.url:o(!1)},[d]),C("div",{ref:t,className:"qlwapp__message-list"},_.map(e=>C(Ft,{key:e.id,...e})),"buttons input"==u?.type&&!l&&u?.items.map(({id:e,content:t,pictureSrc:n})=>C("div",{className:"qlwapp__message qlwapp__message--choice-input",key:e,type:"text",role:"button",tabIndex:0,onClick:e=>{e.stopPropagation(),s(t)},onKeyDown:e=>{e.stopPropagation(),bt(e,()=>s(t))},disabled:l},n?C("img",{src:n,alt:"option icon"}):t)),"rating input"==u?.type&&!l&&C(Kt,{options:u?.options,onSubmit:e=>s(e)}),n&&d?.url&&C("div",{className:"qlwapp__message qlwapp__message--user"},C("div",null,"The bot wants to open a new tab but it was blocked by your browser. It needs a manual approval."),C("a",{href:d.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>o(!1)},"Continue in a new tab")),C("span",{ref:e}))},jt=()=>{const{box:e,generalConsentAccepted:t,setGeneralConsentAccepted:n}=dt(),[o,r]=ie(!0),[a,s]=ie(!1),l="yes"===e?.consent_enabled,i=e?.consent_message||"I accept cookies and privacy policy.";return l&&o?C("div",{className:`qlwapp__general-consent ${a?"qlwapp__general-consent--accepted":""} ${t?"":"qlwapp__general-consent--required"}`},C("label",{className:"qlwapp__general-consent-label"},C("input",{id:"qlwapp_general_consent",type:"checkbox",checked:t,onChange:e=>{const t=e.target.checked;n(t),t&&(s(!0),setTimeout(()=>{r(!1)},1e3))},className:"qlwapp__general-consent-checkbox",required:!0,"aria-required":"true"}),C("span",{className:"qlwapp__general-consent-text",dangerouslySetInnerHTML:{__html:i}}))):null},zt=xe(({handleBoxClose:e},t)=>{const{contactId:n,setContactId:o}=dt(),[r,a]=ie(""),s=null!==n;return C("div",{ref:t,className:je()("qlwapp__modal",s&&"qlwapp__modal--response",r)},C(Ct,{onClose:e,onPrevious:e=>{e.preventDefault(),a("qlwapp__modal--closing"),setTimeout(()=>{o(null),a("")},[300])}}),C("div",{className:"qlwapp__body"},C("div",{className:"qlwapp__carousel"},C("div",{className:"qlwapp__carousel-slide"},C(Pt,{onClick:a})),C("div",{className:"qlwapp__carousel-slide"},null!==n&&C(Zt,null)))),C(jt,null),C(It,null))}),Jt=xe((e,t)=>C(zt,{...e,ref:t})),Yt=e=>(e=>!(!e||"string"!=typeof e)&&(e.startsWith("http")||e.startsWith("https")||/\.(jpg|jpeg|png|gif|svg|webp)$/i.test(e)||e.includes(".")))(e)?C("img",{src:e,alt:"Custom Icon",className:"qlwapp__icon"}):C("i",{className:je()("qlwapp__icon",e)}),Xt=function({onClick:e}){const{button:t,isModalOpen:n}=dt(),{isAvailableNow:o,isInAvailableDay:r,isInAvailableHour:a,timefrom:s,timeto:l}=Ot(t);if(!o&&"hidden"===t.visibility)return;const i=Mt(t);return C("a",{className:je()("qlwapp__button",`qlwapp__button--${t.layout}`,!o&&"qlwapp__button--disabled"),role:"button",tabIndex:"0",onClick:n=>(n=>{n.preventDefault(),"yes"===t.box?e(n):(e=>{e.preventDefault(),xt(t)})(n)})(n)},"image"===t.layout?Yt(t.icon):C(N,null,Yt(t.icon),"bubble"===t.layout&&C("i",{className:"qlwapp__close"},"×"),t.text&&C("span",{className:"qlwapp__text"},t.text)),"bubble"===t.notification_bubble&&o&&!n&&C("span",{className:je()("qlwapp__notification-bubble",t.notification_bubble_animation&&`qlwapp__notification-bubble--${t.notification_bubble_animation}`),"aria-label":"New message notification"},"1"),r?!a&&C("span",{className:"qlwapp__time"},Xe(Ye("Available from %1$s to %2$s"),s,l)):i&&C("span",{className:"qlwapp__time"},Xe(Ye("Available on %s"),i)))},Qt=()=>window.innerWidth<=430&&Nt(),en=({children:e,containerRef:t,boxTransitionClass:n,isMobilePreview:o})=>{const[r,a]=ie(Qt()),{button:s}=dt(),l="yes"===s.rounded;_e(()=>{const e=()=>{a(Qt())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const i=r||o;return C("div",{ref:t,className:je()("qlwapp__container",`qlwapp__container--${s.position}`,l&&"qlwapp__container--rounded",i&&"qlwapp-is-mobile",n)},e)},tn=e=>!("hide"===e||"desktop"===e&&Nt()||"mobile"===e&&!Nt()),nn=e=>e?(Array.isArray(e)||(e=Object.values(e)),e.filter(e=>{const t=tn(e?.display?.devices),n="hidden"===e?.visibility&&!Ot(e).isAvailableNow;return t&&!n}).sort((e,t)=>{const n=void 0!==e.order&&null!==e.order?e.order:Number.MAX_SAFE_INTEGER,o=void 0!==t.order&&null!==t.order?t.order:Number.MAX_SAFE_INTEGER;return n===o?0:n<o?-1:1})):[],on=function(e,t){function n(e){var n=this.props.ref;return n!=e.ref&&n&&("function"==typeof n?n(null):n.current=null),t?!t(this.props,e)||n!=e.ref:Ce(this.props,e)}function o(t){return this.shouldComponentUpdate=n,C(e,t)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.__f=o.prototype.isReactComponent=!0,o.type=e,o}(e=>{const{box:t,button:n,contacts:o,isMobilePreview:r,previewContainerRef:a}=e,s=nn(o),l=ue(null),i=ue(null),[c,_]=ie(!1),[u,p]=ie(""),d="qlwapp_box_closed",f="yes"===t.auto_open&&"yes"===n.box,m="true"===function(e){const t=document.cookie.match("(^|;) ?"+e+"=([^;]*)(;|$)");return t?t[2]:null}(d),h=Number(t.auto_delay_open);_e(()=>{f&&!m&&setTimeout(()=>{_(!0)},h)},[]),_e(()=>{const e=t.allow_outside_close||"no",n=t=>{c&&"yes"===e&&i.current&&!i.current.contains(t.target)&&(a?.current?a.current.contains(t.target)&&v(t):v(t))};if(c&&"yes"===e)return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[c,t.allow_outside_close,a]);const v=e=>{e?.preventDefault(),p("qlwapp__container--closing"),function(e){let t="";{const e=new Date;e.setTime(e.getTime()+6048e5),t="; expires="+e.toUTCString()}document.cookie=e+"=true"+t+"; path=/"}(d),setTimeout(()=>{_(!1),p("")},300)};return C(ft,{...e,contacts:s,isModalOpen:c},C(en,{isMobilePreview:r,boxTransitionClass:u,containerRef:l},c&&C(Jt,{ref:i,handleBoxClose:v}),C(Xt,{onClick:()=>{c?v():(_(!0),p("qlwapp__container--opening"),setTimeout(()=>{p("qlwapp__container--open")},300))}})))});document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".qlwapp").forEach(e=>{var t,n,o,r,a;const s=null!==(t=JSON.parse(e.getAttribute("data-display")))&&void 0!==t?t:{},l=null!==(n=JSON.parse(e.getAttribute("data-button")))&&void 0!==n?n:{},i=null!==(o=JSON.parse(e.getAttribute("data-box")))&&void 0!==o?o:{},c=null!==(r=l?.devices)&&void 0!==r?r:s?.devices;if(!tn(c))return;const _=nn(null!==(a=JSON.parse(e.getAttribute("data-contacts")))&&void 0!==a?a:[]);Ke(e).render(C(on,{display:s,button:l,box:i,contacts:_}))}),document.addEventListener("click",e=>{const t=e.target.closest('[data-action="open"]');if(!t)return;e.preventDefault();const n=t.dataset.phone,o=t.dataset.message,r=t.dataset.whatsappLinkType||"api";if(!n)return;const a=Tt({type:"phone",phone:n,message:o,whatsappLinkType:r}),s=new CustomEvent("qlwapp.click",{bubbles:!0,cancelable:!0});window.dispatchEvent(s),window.open(a,"_blank","noreferrer")})})})()})();
(()=>{"use strict";const e="email",t="phone",n="name",l={[e]:["email","e-mail","mail","email address"],[t]:["phone","tel","mobile","cell","telephone","phone number"],[n]:["name","full-name","full name","full_name","fullname","first-name","first name","first_name","firstname","last-name","last name","last_name","lastname","given-name","given name","given_name","givenname","family-name","family name","family_name","familyname","fname","lname","first","last","your-name","your name"]};function r(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}function a(e){const t=r(e),n=t.lastIndexOf("@");if(-1===n)return t;const l=t.slice(n+1);return["gmail.com","googlemail.com"].includes(l)?`${t.slice(0,n).replace(/\./g,"")}@${l}`:t}function i(e){const t=r(e),n=t.replace(/\D/g,"");return t.startsWith("+")?`+${n}`:n}function s(e){const t=e.filter(e=>{let{type:t}=e;return t===n}).map(e=>{let{value:t}=e;return r(t)}).filter(Boolean);if(!t.length)return;const[l,...a]=1===t.length?t[0].split(" "):t;return{first_name:l,...a?.length>0?{last_name:a.join(" ")}:{}}}function u(t){return t.find(t=>{let{type:n}=t;return n===e})?.value}function o(e){return e.find(e=>{let{type:n}=e;return n===t})?.value}globalThis.document.addEventListener("wpcf7mailsent",m=>{const c=globalThis._googlesitekit?.gtagUserData,f=c?function(m){if(!(m&&m instanceof HTMLFormElement))return;const c=new FormData(m);return function(e){const t=[["address",s(e)],["email",u(e)],["phone_number",o(e)]].filter(e=>{let[,t]=e;return t});if(0!==t.length)return Object.fromEntries(t)}(Array.from(c.entries()).map(s=>{let[u,o]=s;const c=m.querySelector(`[name='${u}']`),f=c?.type;return"hidden"===f||"submit"===f?null:function(s){let{type:u,name:o,value:m,label:c}=s||{};switch(u=r(u),o=r(o),m=r(m),c=function(e){return e&&"string"==typeof e?e.trim().toLowerCase().replace(/\s*\*+\s*$/,"").replace(/\s*\(required\)\s*$/i,"").replace(/\s*:\s*$/,"").trim():""}(c),u){case"email":return{type:e,value:a(m)};case"tel":return{type:t,value:i(m)}}return function(e){if(!e)return!1;const t=a(e);return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}(m)||l[e].includes(o)||l[e].includes(c)?{type:e,value:a(m)}:l[t].includes(o)||l[t].includes(c)?{type:t,value:i(m)}:l[n].includes(o)||l[n].includes(c)?{type:n,value:r(m)}:function(e){if(!e)return!1;if(!function(e){const t=e.replace(/\D/g,"");return!(t.length<7||t.length<e.length/2)&&/^[\s\-()+.\d]*$/.test(e)}(e))return!1;const t=i(e);if(!/^\+?\d{7,}$/.test(t))return!1;const n=/[\s\-()+.]/.test(e),l=e.trim().startsWith("+");return!(!n&&!l)}(m)?{type:t,value:i(m)}:null}({type:f,label:c?.id?m.querySelector(`label[for='${c?.id}']`)?.textContent:void 0,name:u,value:o})}).filter(Boolean))}(m.target):null;globalThis._googlesitekit?.gtagEvent?.("contact",{event_category:m.detail.contactFormId,event_label:m.detail.unitTag,...f?{user_data:f}:{}})})})();
(function(){
var supportsPassive=false;
try {
var opts=Object.defineProperty({}, 'passive', {
get:function(){
supportsPassive=true;
}});
window.addEventListener('testPassive', null, opts);
window.removeEventListener('testPassive', null, opts);
} catch(e){}
function init(){
var input_begin='';
var keydowns={};
var lastKeyup=null;
var lastKeydown=null;
var keypresses=[];
var modifierKeys=[];
var correctionKeys=[];
var lastMouseup=null;
var lastMousedown=null;
var mouseclicks=[];
var mouseclickCoordinates=[];
var mousemoveTimer=null;
var lastMousemoveX=null;
var lastMousemoveY=null;
var mousemoveStart=null;
var mousemoves=[];
var touchmoveCountTimer=null;
var touchmoveCount=0;
var lastTouchEnd=null;
var lastTouchStart=null;
var touchEvents=[];
var scrollCountTimer=null;
var scrollCount=0;
var correctionKeyCodes=[ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ];
var modifierKeyCodes=[ 'Shift', 'CapsLock' ];
var forms=document.querySelectorAll('form[method=post]');
for(var i=0; i < forms.length; i++){
var form=forms[i];
var formAction=form.getAttribute('action');
if(formAction){
if(formAction.indexOf('http://')==0||formAction.indexOf('https://')==0){
if(formAction.indexOf('http://' + window.location.hostname + '/')!=0&&formAction.indexOf('https://' + window.location.hostname + '/')!=0){
continue;
}}
}
form.addEventListener('submit', function (){
var ak_bkp=prepare_array_for_request(keypresses);
var ak_bmc=prepare_array_for_request(mouseclicks);
var ak_bte=prepare_array_for_request(touchEvents);
var ak_bmm=prepare_array_for_request(mousemoves);
var ak_bcc=prepare_array_for_request(mouseclickCoordinates);
var input_fields={
'bib': input_begin,
'bfs': Date.now(),
'bkpc': keypresses.length,
'bkp': ak_bkp,
'bmc': ak_bmc,
'bmcc': mouseclicks.length,
'bmk': modifierKeys.join(';'),
'bck': correctionKeys.join(';'),
'bmmc': mousemoves.length,
'btmc': touchmoveCount,
'bsc': scrollCount,
'bte': ak_bte,
'btec':touchEvents.length,
'bmm':ak_bmm,
'bcc':ak_bcc
};
var akismet_field_prefix='ak_';
if(this.getElementsByClassName){
var possible_akismet_containers=this.getElementsByClassName('akismet-fields-container');
for(var containerIndex=0; containerIndex < possible_akismet_containers.length; containerIndex++){
var container=possible_akismet_containers.item(containerIndex);
if(container.getAttribute('data-prefix') ){
akismet_field_prefix=container.getAttribute('data-prefix');
break;
}}
}
for(var field_name in input_fields){
var field=document.createElement('input');
field.setAttribute('type', 'hidden');
field.setAttribute('name', akismet_field_prefix + field_name);
field.setAttribute('value', input_fields[ field_name ]);
this.appendChild(field);
}}, supportsPassive ? { passive: true }:false);
form.addEventListener('keydown', function(e){
if(e.key in keydowns){
return;
}
var keydownTime=(new Date()).getTime();
keydowns[ e.key ]=[ keydownTime ];
if(! input_begin){
input_begin=keydownTime;
}
var lastKeyEvent=Math.max(lastKeydown, lastKeyup);
if(lastKeyEvent){
keydowns[ e.key ].push(keydownTime - lastKeyEvent);
}
lastKeydown=keydownTime;
}, supportsPassive ? { passive: true }:false);
form.addEventListener('keyup', function(e){
if(!(e.key in keydowns) ){
return;
}
var keyupTime=(new Date()).getTime();
if('TEXTAREA'===e.target.nodeName||'INPUT'===e.target.nodeName){
if(-1!==modifierKeyCodes.indexOf(e.key) ){
modifierKeys.push(keypresses.length - 1);
}else if(-1!==correctionKeyCodes.indexOf(e.key) ){
correctionKeys.push(keypresses.length - 1);
}else{
var keydownTime=keydowns[ e.key ][0];
var keypress=[];
keypress.push(keyupTime - keydownTime);
if(keydowns[ e.key ].length > 1){
keypress.push(keydowns[ e.key ][1]);
}
keypresses.push(keypress);
}}
delete keydowns[ e.key ];
lastKeyup=keyupTime;
}, supportsPassive ? { passive: true }:false);
form.addEventListener("focusin", function(e){
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
form.addEventListener("focusout", function(e){
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
}
document.addEventListener('mousedown', function(e){
lastMousedown=(new Date()).getTime();
var mouseclickCoordinate=[];
var rect=e.target.getBoundingClientRect();
var relativeX=e.clientX - rect.left;
var relativeY=e.clientY - rect.top;
mouseclickCoordinate.push(Math.round(relativeX) );
mouseclickCoordinate.push(Math.round(relativeY) );
mouseclickCoordinate.push(rect.width > 0 ? Math.round(relativeX / rect.width * 100):0);
mouseclickCoordinate.push(rect.height > 0 ? Math.round(relativeY / rect.height * 100):0);
mouseclickCoordinates.push(mouseclickCoordinate);
}, supportsPassive ? { passive: true }:false);
document.addEventListener('mouseup', function(e){
if(! lastMousedown){
return;
}
var now=(new Date()).getTime();
var mouseclick=[];
mouseclick.push(now - lastMousedown);
if(lastMouseup){
mouseclick.push(lastMousedown - lastMouseup);
}
mouseclicks.push(mouseclick);
lastMouseup=now;
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
document.addEventListener('mousemove', function(e){
if(mousemoveTimer){
clearTimeout(mousemoveTimer);
mousemoveTimer=null;
}else{
mousemoveStart=(new Date()).getTime();
lastMousemoveX=e.offsetX;
lastMousemoveY=e.offsetY;
}
mousemoveTimer=setTimeout(function(theEvent, originalMousemoveStart){
var now=(new Date()).getTime() - 500;
var mousemove=[];
mousemove.push(now - originalMousemoveStart);
mousemove.push(Math.round(Math.sqrt(Math.pow(theEvent.offsetX - lastMousemoveX, 2) +
Math.pow(theEvent.offsetY - lastMousemoveY, 2)
)
)
);
if(mousemove[1] > 0){
mousemoves.push(mousemove);
}
mousemoveStart=null;
mousemoveTimer=null;
}, 500, e, mousemoveStart);
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchmove', function(e){
if(touchmoveCountTimer){
clearTimeout(touchmoveCountTimer);
}
touchmoveCountTimer=setTimeout(function (){
touchmoveCount++;
}, 500);
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchstart', function(e){
lastTouchStart=(new Date()).getTime();
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchend', function(e){
if(! lastTouchStart){
return;
}
var now=(new Date()).getTime();
var touchEvent=[];
touchEvent.push(now - lastTouchStart);
if(lastTouchEnd){
touchEvent.push(lastTouchStart - lastTouchEnd);
}
touchEvents.push(touchEvent);
lastTouchEnd=now;
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
document.addEventListener('scroll', function(e){
if(scrollCountTimer){
clearTimeout(scrollCountTimer);
}
scrollCountTimer=setTimeout(function (){
scrollCount++;
}, 500);
}, supportsPassive ? { passive: true }:false);
}
function prepare_array_for_request(a, limit){
if(! limit){
limit=100;
}
var rv='';
if(a.length > 0){
var random_starting_point=Math.max(0, Math.floor(Math.random() * a.length - limit) );
for(var i=0; i < limit&&i < a.length; i++){
var entry=a[ random_starting_point + i ];
rv +=entry.join(',') + ';';
}}
return rv;
}
if(document.readyState!=='loading'){
init();
}else{
document.addEventListener('DOMContentLoaded', init);
}})();