
var resetFeedbackButtons=function(){document.getElementById('wpaicg-prompt-thumbs_up').disabled=!1;document.getElementById('wpaicg-prompt-thumbs_up').style.display='inline-block';document.getElementById('wpaicg-prompt-thumbs_down').disabled=!1;document.getElementById('wpaicg-prompt-thumbs_down').style.display='inline-block'};var wpaicgPlayGround={init:function(){var wpaicg_PlayGround=this;var wpaicgFormsShortcode=document.getElementsByClassName('wpaicg-playground-shortcode');var wpaicgClearButtons=document.getElementsByClassName('wpaicg-prompt-clear');var wpaicgStopButtons=document.getElementsByClassName('wpaicg-prompt-stop-generate');var wpaicgSaveButtons=document.getElementsByClassName('wpaicg-prompt-save-draft');var wpaicgDownloadButtons=document.getElementsByClassName('wpaicg-prompt-download');var wpaicgCopyButtons=document.getElementsByClassName('wpaicg-prompt-copy_button');var wpaicgThumbsUpButtons=document.getElementsByClassName('wpaicg-prompt-thumbs_up');var wpaicgThumbsDownButtons=document.getElementsByClassName('wpaicg-prompt-thumbs_down');if(wpaicgDownloadButtons&&wpaicgDownloadButtons.length){for(var i=0;i<wpaicgDownloadButtons.length;i++){var wpaicgDownloadButton=wpaicgDownloadButtons[i];wpaicgDownloadButton.addEventListener('click',function(e){e.preventDefault();var wpaicgDownloadButton=e.currentTarget;var wpaicgForm=wpaicgDownloadButton.closest('.wpaicg-prompt-form');var formID=wpaicgForm.getAttribute('data-id');var wpaicgFormData=window['wpaicgForm'+formID];var currentContent=wpaicg_PlayGround.getContent(wpaicgFormData.response,formID);currentContent=currentContent.replace(/&nbsp;/g,' ');var element=document.createElement('a');currentContent=currentContent.replace(/<br>/g,"\n");currentContent=currentContent.replace(/<br \/>/g,"\n");element.setAttribute('href','data:text/plain;charset=utf-8,'+encodeURIComponent(currentContent));element.setAttribute('download','response.txt');element.style.display='none';document.body.appendChild(element);element.click();document.body.removeChild(element)})}}
if(wpaicgCopyButtons&&wpaicgCopyButtons.length){for(var i=0;i<wpaicgCopyButtons.length;i++){var wpaicgCopyButton=wpaicgCopyButtons[i];wpaicgCopyButton.addEventListener('click',function(e){e.preventDefault();var wpaicgCopyButton=e.currentTarget;var originalText=wpaicgCopyButton.textContent;wpaicgCopyButton.textContent="👍";setTimeout(function(){wpaicgCopyButton.textContent=originalText},2000);var wpaicgForm=wpaicgCopyButton.closest('.wpaicg-prompt-form');var formID=wpaicgForm.getAttribute('data-id');var wpaicgFormData=window['wpaicgForm'+formID];var responseText=wpaicgPlayGround.getContent(wpaicgFormData.response,formID);responseText=responseText.replace(/&nbsp;/g,' ');responseText=responseText.replace(/<br\s*\/?>/g,'\r\n');responseText=responseText.replace(/\r\n\r\n/g,'\r\n\r\n');navigator.clipboard.writeText(responseText).then(function(){console.log('Text successfully copied to clipboard')}).catch(function(err){console.error('Unable to copy text to clipboard',err)})})}}
if(wpaicgClearButtons&&wpaicgClearButtons.length){for(var i=0;i<wpaicgClearButtons.length;i++){var wpaicgClearButton=wpaicgClearButtons[i];wpaicgClearButton.addEventListener('click',function(e){e.preventDefault();var wpaicgClearButton=e.currentTarget;var wpaicgForm=wpaicgClearButton.closest('.wpaicg-prompt-form');var formID=wpaicgForm.getAttribute('data-id');var wpaicgFormData=window['wpaicgForm'+formID];var wpaicgSaveResult=wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,'');wpaicgSaveResult.style.display='none'})}}
if(wpaicgStopButtons&&wpaicgStopButtons.length){for(var i=0;i<wpaicgStopButtons.length;i++){var wpaicgStopButton=wpaicgStopButtons[i];wpaicgStopButton.addEventListener('click',function(e){e.preventDefault();var wpaicgStopButton=e.currentTarget;var wpaicgForm=wpaicgStopButton.closest('.wpaicg-prompt-form');var eventID=wpaicgStopButton.getAttribute('data-event');var wpaicgSaveResult=wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];var wpaicgGenerateBtn=wpaicgForm.getElementsByClassName('wpaicg-generate-button')[0];wpaicg_PlayGround.eventClose(eventID,wpaicgStopButton,wpaicgSaveResult,wpaicgGenerateBtn)})}}
if(wpaicgSaveButtons&&wpaicgSaveButtons.length){for(var i=0;i<wpaicgSaveButtons.length;i++){var wpaicgSaveButton=wpaicgSaveButtons[i];wpaicgSaveButton.addEventListener('click',function(e){e.preventDefault();var wpaicgSaveButton=e.currentTarget;var wpaicgForm=wpaicgSaveButton.closest('.wpaicg-prompt-form');var formID=wpaicgForm.getAttribute('data-id');var wpaicgFormData=window['wpaicgForm'+formID];var title=wpaicgForm.getElementsByClassName('wpaicg-prompt-post_title')[0].value;var content=wpaicg_PlayGround.getContent(wpaicgFormData.response,formID);if(title===''){alert('Please insert title')}else if(content===''){alert('Please wait generate content')}else{const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgFormData.ajax);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");var encodedContent=encodeURIComponent(content);xhttp.send('action=wpaicg_save_draft_post_extra&title='+title+'&content='+encodedContent+'&save_source=promptbase&nonce='+wpaicgFormData.ajax_nonce);wpaicg_PlayGround.loading.add(wpaicgSaveButton);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){wpaicg_PlayGround.loading.remove(wpaicgSaveButton);if(xhttp.status===200){var wpaicg_response=this.responseText;wpaicg_response=JSON.parse(wpaicg_response);if(wpaicg_response.status==='success'){window.location.href=wpaicgFormData.post+'?post='+wpaicg_response.id+'&action=edit'}else{alert(wpaicg_response.msg)}}else{alert('Something went wrong')}}}}})}}
if(wpaicgFormsShortcode&&wpaicgFormsShortcode.length){for(var i=0;i<wpaicgFormsShortcode.length;i++){var wpaicgFormShortcode=wpaicgFormsShortcode[i];var wpaicgForm=wpaicgFormShortcode.getElementsByClassName('wpaicg-prompt-form')[0];wpaicgForm.addEventListener('submit',function(e){e.preventDefault();var wpaicgForm=e.currentTarget;var formID=wpaicgForm.getAttribute('data-id');var formSource=wpaicgForm.getAttribute('data-source');var wpaicgFormData=window['wpaicgForm'+formID];if(wpaicgFormData&&wpaicgFormData.feedback_buttons==='yes'){resetFeedbackButtons()}
var wpaicgMaxToken=wpaicgForm.getElementsByClassName('wpaicg-prompt-max_tokens')[0];var wpaicgTemperature=wpaicgForm.getElementsByClassName('wpaicg-prompt-temperature')[0];var wpaicgTopP=wpaicgForm.getElementsByClassName('wpaicg-prompt-top_p')[0];var wpaicgBestOf=wpaicgForm.getElementsByClassName('wpaicg-prompt-best_of')[0];var wpaicgFP=wpaicgForm.getElementsByClassName('wpaicg-prompt-frequency_penalty')[0];var wpaicgPP=wpaicgForm.getElementsByClassName('wpaicg-prompt-presence_penalty')[0];var wpaicgMaxLines=wpaicgForm.getElementsByClassName('wpaicg-prompt-max-lines')[0];var wpaicgGenerateBtn=wpaicgForm.getElementsByClassName('wpaicg-generate-button')[0];var wpaicgSaveResult=wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];var wpaicgStop=wpaicgForm.getElementsByClassName('wpaicg-prompt-stop-generate')[0];var max_tokens=wpaicgMaxToken.value;var temperature=wpaicgTemperature.value;var top_p=wpaicgTopP.value;var best_of=wpaicgBestOf.value;var frequency_penalty=wpaicgFP.value;var presence_penalty=wpaicgPP.value;var error_message=!1;if(max_tokens===''){error_message='Please enter max tokens'}else if(parseFloat(max_tokens)<1||parseFloat(max_tokens)>8000){error_message='Please enter a valid max tokens value between 1 and 8000'}else if(temperature===''){error_message='Please enter temperature'}else if(parseFloat(temperature)<0||parseFloat(temperature)>1){error_message='Please enter a valid temperature value between 0 and 1'}else if(top_p===''){error_message='Please enter Top P'}else if(parseFloat(top_p)<0||parseFloat(top_p)>1){error_message='Please enter a valid Top P value between 0 and 1'}else if(best_of===''){error_message='Please enter best of'}else if(parseFloat(best_of)<1||parseFloat(best_of)>20){error_message='Please enter a valid best of value between 0 and 1'}else if(frequency_penalty===''){error_message='Please enter frequency penalty'}else if(parseFloat(frequency_penalty)<0||parseFloat(frequency_penalty)>2){error_message='Please enter a valid frequency penalty value between 0 and 2'}else if(presence_penalty===''){error_message='Please enter presence penalty'}else if(parseFloat(presence_penalty)<0||parseFloat(presence_penalty)>2){error_message='Please enter a valid presence penalty value between 0 and 2'}
if(error_message){alert(error_message)}else{if(typeof wpaicgFormData.fields==='object'){for(var i=0;i<wpaicgFormData.fields.length;i++){var form_field=wpaicgFormData.fields[i];var field=wpaicgForm.getElementsByClassName('wpaicg-form-field-'+i)[0];var field_type=form_field.type!==undefined?form_field.type:'text';var field_label=form_field.label!==undefined?form_field.label:'';var field_min=form_field.min!==undefined?form_field.min:'';var field_max=form_field.max!==undefined?form_field.max:'';if(field_type!=='radio'&&field_type!=='checkbox'){var field_value=field.value;if(field_type==='text'||field_type==='textarea'||field_type==='email'||field_type==='url'){if(field_min!==''&&field_value.length<parseInt(field_min)){error_message=field_label+' minimum '+field_min+' characters'}else if(field_max!==''&&field_value.length>parseInt(field_max)){error_message=field_label+' maximum '+field_max+' characters'}else if(field_type==='email'&&!wpaicg_PlayGround.validate.email(field_value)){error_message=field_label+' must be email address'}else if(field_type==='url'&&!wpaicg_PlayGround.validate.url(field_value)){error_message=field_label+' must be url'}}else if(field_type==='number'){if(field_min!==''&&parseFloat(field_value)<parseInt(field_min)){error_message=field_label+' minimum '+field_min}else if(field_max!==''&&parseFloat(field_value)>parseInt(field_max)){error_message=field_label+' maximum '+field_max}}}else if(field_type==='checkbox'||field_type==='radio'){var field_inputs=field.getElementsByTagName('input');var field_checked=!1;if(field_inputs&&field_inputs.length){for(var y=0;y<field_inputs.length;y++){var field_input=field_inputs[y];if(field_input.checked){field_checked=!0}}}
if(!field_checked){error_message=field_label+' is required'}}}}
if(error_message){alert(error_message)}else{if(typeof wpaicgFormData.fields==='object'){for(var i=0;i<wpaicgFormData.fields.length;i++){var form_field=wpaicgFormData.fields[i];var field_type=form_field.type;var field=wpaicgForm.getElementsByClassName('wpaicg-form-field-'+i)[0];var field_name=form_field.id!==undefined?form_field.id:'';var field_value;if(field_type==='checkbox'||field_type==='radio'){field_value='';var field_inputs=field.getElementsByTagName('input');if(field_inputs&&field_inputs.length){for(var y=0;y<field_inputs.length;y++){var field_input=field_inputs[y];if(field_input.checked){var current_field_value=field_input.value;if(current_field_value!==undefined&&current_field_value!==''){field_value+=(field_value===''?'':', ')+current_field_value}}}}}else{field_value=field.value}
var sRegExInput=new RegExp('{'+field_name+'}','g')}}
let queryString=new URLSearchParams(new FormData(wpaicgForm)).toString();wpaicg_PlayGround.loading.add(wpaicgGenerateBtn);wpaicgSaveResult.style.display='none';wpaicgStop.style.display='inline';wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,'');queryString+='&source_stream='+formSource+'&nonce='+wpaicgFormData.ajax_nonce;var eventID=Math.ceil(Math.random()*1000000);for(var i=0;i<wpaicgThumbsUpButtons.length;i++){wpaicgThumbsUpButtons[i].setAttribute('data-eventid',eventID)}
for(var i=0;i<wpaicgThumbsDownButtons.length;i++){wpaicgThumbsDownButtons[i].setAttribute('data-eventid',eventID)}
wpaicgStop.setAttribute('data-event',eventID);window['eventGenerator'+eventID]=new EventSource(wpaicgFormData.event+'&'+queryString);if(formSource==='form'){queryString+='&action=wpaicg_form_log'}else{queryString+='&action=wpaicg_prompt_log'}
wpaicg_PlayGround.process(queryString,eventID,wpaicgFormData,formID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicgMaxLines)}}})}
var handleFeedbackButtonClick=function(e){e.preventDefault();var button=e.currentTarget;var formID=button.getAttribute('data-id');var eventID=button.getAttribute('data-eventid');var feedbackType=button.id.replace('wpaicg-prompt-','');var wpaicgFormData=window['wpaicgForm'+formID];var modal=jQuery('#wpaicg_feedbackModal');var datasource=wpaicgFormData.datasource;var textareaID=wpaicgFormData.feedbackID;modal.find('.emoji').text(feedbackType=='thumbs_up'?'👍':'👎');modal.fadeIn();jQuery('.wpaicg_feedbackModal-overlay').fadeIn();var myaction=(datasource==='promptbase')?'wpaicg_save_prompt_feedback':'wpaicg_save_feedback';jQuery('#wpaicg_submitFeedback').off('click').on('click',function(){modal.find('textarea').attr('id',textareaID);var comment=jQuery('#'+textareaID).val();console.log('comment: '+comment);var responseText=wpaicgPlayGround.getContent(wpaicgFormData.response,formID);responseText=responseText.replace(/&nbsp;/g,' ');responseText=responseText.replace(/<br\s*\/?>/g,'\r\n');responseText=responseText.replace(/\r\n\r\n/g,'\r\n\r\n');const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgFormData.ajax);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send('action='+myaction+'&formID='+formID+'&feedback='+feedbackType+'&comment='+encodeURIComponent(comment)+'&nonce='+wpaicgFormData.ajax_nonce+'&formname='+wpaicgFormData.name+'&sourceID='+wpaicgFormData.sourceID+'&response='+responseText+'&eventID='+eventID);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){var response=JSON.parse(xhttp.responseText);if(response.status==='success'){if(feedbackType==='thumbs_up'){document.getElementById('wpaicg-prompt-thumbs_up').disabled=!0;document.getElementById('wpaicg-prompt-thumbs_down').style.display='none'}else{document.getElementById('wpaicg-prompt-thumbs_down').disabled=!0;document.getElementById('wpaicg-prompt-thumbs_up').style.display='none'}
jQuery('#'+textareaID).val('')}else{alert(response.msg)}}else{alert('Error: '+xhttp.status+' - '+xhttp.statusText+'\n\n'+xhttp.responseText)}
modal.fadeOut();jQuery('.wpaicg_feedbackModal-overlay').fadeOut()}}});jQuery('#closeFeedbackModal').off('click').on('click',function(){modal.fadeOut();jQuery('.wpaicg_feedbackModal-overlay').fadeOut()})};for(var k=0;k<wpaicgThumbsUpButtons.length;k++){wpaicgThumbsUpButtons[k].addEventListener('click',handleFeedbackButtonClick)}
for(var k=0;k<wpaicgThumbsDownButtons.length;k++){wpaicgThumbsDownButtons[k].addEventListener('click',handleFeedbackButtonClick)}}},process:function(queryString,eventID,wpaicgFormData,formID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicgMaxLines){var wpaicg_PlayGround=this;var wpaicg_break_newline=wpaicgParams.logged_in==="1"?'<br/><br/>':'\n';var startTime=new Date();var wpaicg_response_events=0;var wpaicg_newline_before=!1;var prompt_response='';var wpaicg_limited_token=!1;var count_line=0;var wpaicg_limitLines=parseFloat(wpaicgMaxLines.value);var currentContent='';window['eventGenerator'+eventID].onmessage=function(e){currentContent=wpaicg_PlayGround.getContent(wpaicgFormData.response,formID);if(e.data==="[LIMITED]"){console.log('Limited token');wpaicg_limited_token=!0;count_line+=1;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+wpaicg_break_newline);wpaicg_response_events=0}else if(e.data.includes("GoogleError")){var error_message=e.data.match(/GoogleError: (.*)/);if(error_message){alert('Error: '+error_message[1])}else{alert('Unknown error occurred')}
count_line+=1;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+wpaicg_break_newline);wpaicg_response_events=0}else if(e.data==="[DONE]"){count_line+=1;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+wpaicg_break_newline);wpaicg_response_events=0}else{var result=JSON.parse(e.data);var hasFinishReason=result.choices&&result.choices[0]&&(result.choices[0].finish_reason==="stop"||result.choices[0].finish_reason==="length")||(result.choices[0].finish_details&&result.choices[0].finish_details.type==="stop");if(hasFinishReason){count_line+=1;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+wpaicg_break_newline);wpaicg_response_events=0}
var content_generated='';if(result.error!==undefined){content_generated=result.error.message}else{content_generated=result.choices[0].delta!==undefined?(result.choices[0].delta.content!==undefined?result.choices[0].delta.content:''):result.choices[0].text}
prompt_response+=content_generated;if(content_generated.trim()===''&&content_generated.includes(' ')){content_generated='&nbsp;'}
if(wpaicgFormData.response!=='textarea'){if(content_generated==='\n'){content_generated='<br/>'}}
if((content_generated==='\n'||content_generated===' \n'||content_generated==='.\n'||content_generated==='\n\n'||content_generated==='"\n')&&wpaicg_response_events>0&&currentContent!==''){if(!wpaicg_newline_before){wpaicg_newline_before=!0;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+wpaicg_break_newline)}}else if(content_generated.indexOf("\n")>-1&&wpaicg_response_events>0&&currentContent!==''){if(!wpaicg_newline_before){wpaicg_newline_before=!0;if(wpaicgFormData.response==='textarea'){if(!wpaicg_PlayGround.editor(formID)){content_generated=content_generated.replace(/\n/g,'<br>')}}else{content_generated=content_generated.replace(/\n/g,'<br>')}
wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+content_generated)}}else if(content_generated==='\n'&&wpaicg_response_events===0&&currentContent===''){}else{wpaicg_newline_before=!1;wpaicg_response_events+=1;wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent+content_generated)}}
if(count_line===wpaicg_limitLines){if(!wpaicg_limited_token){let endTime=new Date();let timeDiff=endTime-startTime;timeDiff=timeDiff/1000;queryString+='&prompt_id='+wpaicgFormData.id+'&prompt_name='+wpaicgFormData.name+'&prompt_response='+encodeURIComponent(prompt_response)+'&duration='+timeDiff+'&_wpnonce='+wpaicgFormData.nonce+'&source_id='+wpaicgFormData.sourceID+'&eventID='+eventID;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgFormData.ajax);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(queryString);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){}}}
wpaicg_PlayGround.eventClose(eventID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicg_limited_token)}}},editor:function(form_id){var basicEditor=!0;if(wpaicg_prompt_logged){var editor=tinyMCE.get('wpaicg-prompt-result-'+form_id);if(document.getElementById('wp-wpaicg-prompt-result-'+form_id+'-wrap').classList.contains('tmce-active')&&editor){basicEditor=!1}}
return basicEditor},setContent:function(type,form_id,value){if(type==='textarea'){value=value.replace(/&nbsp;/g,' ');if(this.editor(form_id)){document.getElementById('wpaicg-prompt-result-'+form_id).value=value}else{var editor=tinyMCE.get('wpaicg-prompt-result-'+form_id);editor.setContent(value)}}else{document.getElementById('wpaicg-prompt-result-'+form_id).innerHTML=value}},getContent:function(type,form_id){if(type==='textarea'){if(this.editor(form_id)){return document.getElementById('wpaicg-prompt-result-'+form_id).value}else{var editor=tinyMCE.get('wpaicg-prompt-result-'+form_id);var content=editor.getContent();content=content.replace(/<\/?p(>|$)/g,"");return content}}else return document.getElementById('wpaicg-prompt-result-'+form_id).innerHTML},loading:{add:function(btn){btn.setAttribute('disabled','disabled');btn.innerHTML+='<span class="wpaicg-loader"></span>'},remove:function(btn){btn.removeAttribute('disabled');btn.removeChild(btn.getElementsByTagName('span')[0])}},eventClose:function(eventID,btn,btnResult,btn_generator,wpaicg_limited_token){btn.style.display='none';if(!wpaicg_limited_token){btnResult.style.display='block'}
this.loading.remove(btn_generator);window['eventGenerator'+eventID].close()},validate:{email:function(email){return String(email).toLowerCase().match(/^(([^<>()[\]\\.,;:\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,}))$/)},url:function(url){try{new URL(url);return!0}catch(err){return!1}}}}
wpaicgPlayGround.init();



let wpaicgInit={wpaicgImageForm:null,wpaicgImageGenerated:null,wpaicgImageGrid:null,wpaicgImageLoading:null,wpaicgImageSaveBtn:null,wpaicgImageMessage:null,wpaicgImageConvertBar:null,wpaicg_image_modal_close:null,wpaicgNumberImages:null,wpaicgImageGenerateBtn:null,wpaicgImageSelectAll:null,wpaicgStartTime:null,init:function(){this.search();this.image();return this},search:function(){let that=this;let wpaicgSearchs=document.getElementsByClassName('wpaicg-search');if(wpaicgSearchs&&wpaicgSearchs.length){for(let i=0;i<wpaicgSearchs.length;i++){let wpaicgSearch=wpaicgSearchs[i];let wpaicgSearchForm=wpaicgSearch.getElementsByClassName('wpaicg-search-form')[0];let wpaicgSearchField=wpaicgSearch.getElementsByClassName('wpaicg-search-field')[0];let wpaicgSearchResult=wpaicgSearch.getElementsByClassName('wpaicg-search-result')[0];let wpaicgSearchSource=wpaicgSearch.getElementsByClassName('wpaicg-search-source')[0];let wpaicgSearchBtn=wpaicgSearch.getElementsByClassName('wpaicg-search-submit')[0];wpaicgSearchBtn.addEventListener('click',function(){that.searchData(wpaicgSearchResult,wpaicgSearchSource,wpaicgSearchField)});wpaicgSearchForm.addEventListener('submit',function(e){that.searchData(wpaicgSearchResult,wpaicgSearchSource,wpaicgSearchField);e.preventDefault();return!1})}}},searchExpand:function(element){let item=element.closest('.wpaicg-search-item');if(item){let excerpt=item.getElementsByClassName('wpaicg-search-item-excerpt')[0];let full=item.getElementsByClassName('wpaicg-search-item-full')[0];if(excerpt&&full){excerpt.style.display='none';full.style.display='block'}else{console.error("Excerpt or full element not found.")}}else{console.error("Item not found.")}},searchData:function(wpaicgSearchResult,wpaicgSearchSource,wpaicgSearchField){let search=wpaicgSearchField.value;if(search!==''){wpaicgSearchResult.innerHTML='<div class="wpaicg-search-loading"><div class="wpaicg-lds-dual-ring"></div></div>';wpaicgSearchSource.innerHTML='';wpaicgSearchResult.classList.remove('wpaicg-has-item');const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send('action=wpaicg_search_data&_wpnonce='+wpaicgParams.search_nonce+'&search='+encodeURIComponent(search));xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){wpaicgSearchResult.classList.add('wpaicg-has-item');var wpaicg_response=this.responseText;if(wpaicg_response!==''){wpaicg_response=JSON.parse(wpaicg_response);wpaicgSearchResult.innerHTML='';if(wpaicg_response.status==='success'){if(wpaicg_response.data.length){for(let i=0;i<wpaicg_response.data.length;i++){let item=wpaicg_response.data[i];wpaicgSearchResult.innerHTML+=item}
if(wpaicg_response.source.length){wpaicgSearchSource.innerHTML='<h3>'+wpaicgParams.languages.source+'</h3>';for(let i=0;i<wpaicg_response.source.length;i++){let item=wpaicg_response.source[i];wpaicgSearchSource.innerHTML+=item}}}else{wpaicgSearchResult.innerHTML='<p>'+wpaicgParams.languages.no_result+'</p>'}}else{wpaicgSearchResult.innerHTML='<p class="wpaicg-search-error">'+wpaicg_response.msg+'</p>'}}else{wpaicgSearchResult.innerHTML='<p class="wpaicg-search-error">'+wpaicgParams.languages.wrong+'</p>'}}else{wpaicgSearchResult.innerHTML='<p class="wpaicg-search-error">'+wpaicgParams.languages.wrong+'</p>'}}}}},imageModal:function(id){var item=document.getElementById('wpaicg-image-item-'+id);var alt=item.querySelectorAll('.wpaicg-image-item-alt')[0].value;var title=item.querySelectorAll('.wpaicg-image-item-title')[0].value;var caption=item.querySelectorAll('.wpaicg-image-item-caption')[0].value;var description=item.querySelectorAll('.wpaicg-image-item-description')[0].value;var url=item.querySelectorAll('input[type=checkbox]')[0].value;document.querySelectorAll('.wpaicg_modal_content')[0].innerHTML='';document.querySelectorAll('.wpaicg-overlay')[0].style.display='block';document.querySelectorAll('.wpaicg_modal')[0].style.display='block';document.querySelectorAll('.wpaicg_modal_title')[0].innerHTML=wpaicgParams.languages.edit_image;var html='<div class="wpaicg_grid_form">';html+='<div class="wpaicg_grid_form_2"><img src="'+url+'" style="width: 100%"></div>';html+='<div class="wpaicg_grid_form_1">';html+='<p><label>'+wpaicgParams.languages.alternative+'</label><input type="text" class="wpaicg_edit_item_alt" style="width: 100%" value="'+alt+'"></p>';html+='<p><label>'+wpaicgParams.languages.title+'</label><input type="text" class="wpaicg_edit_item_title" style="width: 100%" value="'+title+'"></p>';html+='<p><label>'+wpaicgParams.languages.caption+'</label><input type="text" class="wpaicg_edit_item_caption" style="width: 100%" value="'+caption+'"></p>';html+='<p><label>'+wpaicgParams.languages.description+'</label><textarea class="wpaicg_edit_item_description" style="width: 100%">'+description+'</textarea></p>';html+='<button onclick="wpaicgSaveImageData('+id+')" data-id="'+id+'" class="button button-primary wpaicg_edit_image_save" type="button">'+wpaicgParams.languages.save+'</button>';html+='</div>';html+='</div>';document.querySelectorAll('.wpaicg_modal_content')[0].innerHTML=html;wpaicgImageCloseModal()},image_generator:function(data,start,max,multi_steps,form_action){let that=this;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){var wpaicg_response=this.responseText;res=JSON.parse(wpaicg_response);if(res.status==='success'){for(var idx=0;idx<res.imgs.length;idx++){let idImageBox=idx;if(multi_steps){idImageBox=start-1}
var img=res.imgs[idx];var html='<div id="wpaicg-image-item-'+idImageBox+'" class="wpaicg-image-item wpaicg-image-item-'+idx+'" data-id="'+idImageBox+'">';if(wpaicgParams.logged_in==='1'){html+='<label><input data-id="'+idImageBox+'" class="wpaicg-image-item-select" type="checkbox" name="image_url" value="'+img+'"></label>'}
html+='<input value="'+res.title+'" class="wpaicg-image-item-alt" type="hidden" name="image_alt">';html+='<input value="'+res.title+'" class="wpaicg-image-item-title" type="hidden" name="image_title">';html+='<input value="'+res.title+'" class="wpaicg-image-item-caption" type="hidden" name="image_caption">';html+='<input value="'+res.title+'" class="wpaicg-image-item-description" type="hidden" name="image_description">';if(wpaicgParams.logged_in==='1'){html+='<img onclick="wpaicgInit.imageModal('+idImageBox+')" src="'+img+'">'}else{html+='<img onclick="wpaicgViewModalImage(this)" src="'+img+'">'}
html+='</div>';that.wpaicgImageGrid.innerHTML+=html}
if(multi_steps){if(start===max){wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageSelectAll.classList.remove('selectall')
that.wpaicgImageSelectAll.innerHTML=wpaicgSelectAllText;that.wpaicgImageSelectAll.style.display='block';that.wpaicgImageLoading.style.display='none';that.wpaicgImageSaveBtn.style.display='block'}else{that.image_generator(data,start+1,max,multi_steps,form_action)}}else{if(form_action==='wpaicg_image_generator'){let endTime=new Date();let timeDiff=endTime-that.wpaicgStartTime;timeDiff=timeDiff/1000;data+='&action=wpaicg_image_log&duration='+timeDiff+'&_wpnonce_image_log='+wpaicgImageNonce+'&shortcode=['+wpaicgImageShortcode+']&source_id='+wpaicgImageSourceID;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){}}}
wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageSelectAll.classList.remove('selectall')
that.wpaicgImageSelectAll.innerHTML='<?php echo esc_html($wpaicg_image_select_all_text)?>';that.wpaicgImageSelectAll.style.display='block';that.wpaicgImageLoading.style.display='none';that.wpaicgImageSaveBtn.style.display='block'}}else{wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageLoading.style.display='none';let errorMessage=document.createElement('div');errorMessage.style.color='#f00';errorMessage.classList.add('wpaicg-image-error');errorMessage.innerHTML=res.msg;that.wpaicgImageGenerated.prepend(errorMessage);setTimeout(function(){errorMessage.remove()},3000)}}else{that.wpaicgImageLoading.style.display='none';wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);alert('Something went wrong')}}}},save_image:function(items,start){let that=this;if(start>=items.length){that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML=items.length+'/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width='100%';that.wpaicgImageMessage.innerHTML=wpaicgParams.languages.save_image_success;wpaicgImageRmLoading(that.wpaicgImageSaveBtn);setTimeout(function(){that.wpaicgImageMessage.innerHTML=''},2000)}else{var id=items[start];var item=document.getElementById('wpaicg-image-item-'+id);var data='action=wpaicg_save_image_media';data+='&image_alt='+item.querySelectorAll('.wpaicg-image-item-alt')[0].value;data+='&image_title='+item.querySelectorAll('.wpaicg-image-item-title')[0].value;data+='&image_caption='+item.querySelectorAll('.wpaicg-image-item-caption')[0].value;data+='&image_description='+item.querySelectorAll('.wpaicg-image-item-description')[0].value;data+='&image_url='+encodeURIComponent(item.querySelectorAll('.wpaicg-image-item-select')[0].value);data+='&nonce='+wpaicgImageSaveNonce;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){var wpaicg_response=this.responseText;res=JSON.parse(wpaicg_response);if(res.status==='success'){var currentPos=start+1;var percent=Math.ceil(currentPos*100/items.length);that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML=currentPos+'/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width=percent+'%';that.save_image(items,start+1)}else{that.wpaicgImageConvertBar.classList.add('wpaicg_error');wpaicgImageRmLoading(that.wpaicgImageSaveBtn);alert(res.msg)}}else{alert(wpaicgParams.languages.wrong);that.wpaicgImageConvertBar.classList.add('wpaicg_error');wpaicgImageRmLoading(that.wpaicgImageSaveBtn)}}}}},image:function(){let that=this;let wpaicgImageForm=document.getElementById('wpaicg-image-generator-form');if(wpaicgImageForm){this.wpaicgImageForm=wpaicgImageForm;this.wpaicgImageGenerated=wpaicgImageForm.getElementsByClassName('image-generated')[0];this.wpaicgImageGrid=wpaicgImageForm.getElementsByClassName('image-grid')[0];this.wpaicgImageLoading=wpaicgImageForm.getElementsByClassName('image-generate-loading')[0];this.wpaicgImageSaveBtn=wpaicgImageForm.getElementsByClassName('image-generator-save')[0];this.wpaicgImageMessage=wpaicgImageForm.getElementsByClassName('wpaicg_message')[0];this.wpaicgImageConvertBar=wpaicgImageForm.getElementsByClassName('wpaicg-convert-bar')[0];this.wpaicg_image_modal_close=wpaicgImageForm.getElementsByClassName('wpaicg_image_modal_close');this.wpaicgNumberImages=wpaicgImageForm.querySelector('select[name=num_images]');this.wpaicgImageGenerateBtn=wpaicgImageForm.getElementsByClassName('wpaicg_button_generate')[0];this.wpaicgImageSelectAll=wpaicgImageForm.getElementsByClassName('wpaicg_image_select_all')[0];this.wpaicgImageSaveBtn.addEventListener('click',function(e){var items=[];document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){if(item.checked){items.push(item.getAttribute('data-id'))}});if(items.length){that.wpaicgImageConvertBar.style.display='block';that.wpaicgImageConvertBar.classList.remove('wpaicg_error');that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML='0/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width=0;that.wpaicgImageMessage.innerHTML='';wpaicgImageLoadingEffect(that.wpaicgImageSaveBtn);that.save_image(items,0)}else{alert(wpaicgParams.languages.select_save_error)}})
this.wpaicgImageSelectAll.addEventListener('click',function(e){if(that.wpaicgImageSelectAll.classList.contains('selectall')){that.wpaicgImageSelectAll.classList.remove('selectall');that.wpaicgImageSelectAll.innerHTML=wpaicgSelectAllText;document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){item.checked=!1})}else{that.wpaicgImageSelectAll.classList.add('selectall');that.wpaicgImageSelectAll.innerHTML=wpaicgParams.languages.unselect;document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){item.checked=!0})}});wpaicgImageForm.addEventListener('submit',function(e){e.preventDefault();var form_action=wpaicgImageForm.querySelectorAll('input[name=action]')[0].value;if(form_action==='wpaicg_image_stable_diffusion'){that.wpaicgNumberImages=wpaicgImageForm.querySelector('select[name=num_outputs]')}
var num_images=parseInt(that.wpaicgNumberImages.value);if(num_images>0){var wpaicg_error=!1;if(form_action==='wpaicg_image_stable_diffusion'){var prompt_strength=parseFloat(document.getElementById('prompt_strength').value);var num_inference_steps=parseFloat(document.getElementById('num_inference_steps').value);var guidance_scale=parseFloat(document.getElementById('guidance_scale').value);if(prompt_strength<0||prompt_strength>1){wpaicg_error=wpaicgParams.languages.prompt_strength}else if(num_inference_steps<1||num_inference_steps>500){wpaicg_error=wpaicgParams.languages.num_inference_steps}else if(guidance_scale<1||guidance_scale>20){wpaicg_error=wpaicgParams.languages.guidance_scale}}
if(wpaicg_error){alert(wpaicg_error)}else{const queryString=new URLSearchParams(new FormData(wpaicgImageForm)).toString();that.wpaicgImageSaveBtn.style.display='none';wpaicgImageLoadingEffect(that.wpaicgImageGenerateBtn);that.wpaicgImageConvertBar.style.display='none';that.wpaicgImageLoading.style.display='flex';that.wpaicgImageGrid.innerHTML='';that.wpaicgImageSelectAll.style.display='none';let wpaicgImageError=document.getElementsByClassName('wpaicg-image-error');if(wpaicgImageError.length){wpaicgImageError[0].remove()}
if(form_action==='wpaicg_image_stable_diffusion'){that.image_generator(queryString,1,num_images,!0,form_action)}else{that.wpaicgStartTime=new Date();that.image_generator(queryString,1,num_images,!1,form_action)}}}else{alert(wpaicgParams.languages.error_image)}
return!1})}}}
window.wpaicgInit=wpaicgInit.init();



function loadConversations(){var clientId=localStorage.getItem('wpaicg_chat_client_id');if(!clientId){showAllConversationStarters();return}
loadChatInterface('.wpaicg-chat-shortcode','shortcode',clientId);loadChatInterface('.wpaicg-chatbox','widget',clientId)}
function showAllConversationStarters(){var containers=['.wpaicg-chat-shortcode','.wpaicg-chatbox'];containers.forEach(containerSelector=>{var chatContainers=document.querySelectorAll(containerSelector);chatContainers.forEach(chatContainer=>{showConversationStarters(chatContainer)})})}
function loadChatInterface(containerSelector,type,clientId){var chatContainers=document.querySelectorAll(containerSelector);chatContainers.forEach(chatContainer=>{var autoloadConversations=chatContainer.getAttribute('data-autoload_chat_conversations');if(autoloadConversations===null){autoloadConversations='1'}
var botId=chatContainer.getAttribute('data-bot-id')||'0';var historyKey=botId!=='0'?`wpaicg_chat_history_custom_bot_${botId}_${clientId}`:`wpaicg_chat_history_${type}_${clientId}`;if(autoloadConversations==='0'){var chatHistory=localStorage.getItem(historyKey);if(chatHistory){chatHistory=JSON.parse(chatHistory);chatHistory=chatHistory.map(message=>{if(typeof message==='string'){return{id:'',text:message}}
return message});localStorage.setItem(historyKey,JSON.stringify(chatHistory));var chatBox=chatContainer.querySelector('.wpaicg-chatbox-messages, .wpaicg-chat-shortcode-messages');if(!chatBox){console.error(`No chat box found within the ${type} container.`);return}
chatBox.innerHTML='';chatHistory.forEach(message=>{reconstructMessage(chatBox,message,chatContainer)});chatBox.appendChild(document.createElement('br'));requestAnimationFrame(()=>{requestAnimationFrame(()=>{chatBox.scrollTop=chatBox.scrollHeight})});hideConversationStarter(chatContainer)}else{showConversationStarters(chatContainer)}}else{showConversationStarters(chatContainer)}})}
function markdownToHtml(markdown){let html=markdown.replace(/\*\*(.*?)\*\*/g,'<strong>$1</strong>').replace(/__(.*?)__/g,'<strong>$1</strong>');html=html.replace(/\*(.*?)\*/g,'<em>$1</em>').replace(/_(.*?)_/g,'<em>$1</em>');html=html.replace(/~~(.*?)~~/g,'<u>$1</u>');html=html.replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2" target="_blank">$1</a>');return html}
function reconstructMessage(chatBox,message,chatContainer){var messageElement=document.createElement('li');var messageText=typeof message==='object'&&message.text?message.text:message;var isUserMessage=messageText.startsWith('Human:');var isWidget=chatContainer.classList.contains('wpaicg-chatbox');if(isUserMessage){messageElement.className=isWidget?'wpaicg-chat-user-message':'wpaicg-user-message'}else{messageElement.className=isWidget?'wpaicg-chat-ai-message':'wpaicg-ai-message'}
var formattedMessage=messageText.replace('Human:','').replace('AI:','').replace(/\n/g,'<br>');formattedMessage=markdownToHtml(formattedMessage);var userBgColor=chatContainer.getAttribute('data-user-bg-color');var aiBgColor=chatContainer.getAttribute('data-ai-bg-color');var fontSize=chatContainer.getAttribute('data-fontsize');var fontColor=chatContainer.getAttribute('data-color');var useAvatar=parseInt(chatContainer.getAttribute('data-use-avatar'))||0;var userAvatar=chatContainer.getAttribute('data-user-avatar');var aiAvatar=chatContainer.getAttribute('data-ai-avatar');var displayName=isUserMessage?(useAvatar?`<img src="${userAvatar}" height="40" width="40">`:'You:'):(useAvatar?`<img src="${aiAvatar}" height="40" width="40">`:'AI:');messageElement.style.backgroundColor=isUserMessage?userBgColor:aiBgColor;messageElement.style.color=fontColor;messageElement.style.fontSize=fontSize;messageElement.innerHTML=`<p style="width:100%"><strong class="wpaicg-chat-avatar">${displayName}</strong> <span class="wpaicg-chat-message">${formattedMessage}</span></p>`;chatBox.appendChild(messageElement)}
function hideConversationStarter(chatContainer){var starters=chatContainer.querySelectorAll('.wpaicg-conversation-starters');starters.forEach(starter=>starter.style.display='none')}
function showConversationStarters(chatContainer){const startersContainer=chatContainer.querySelector('.wpaicg-conversation-starters');if(startersContainer){startersContainer.style.visibility='visible';const starters=startersContainer.querySelectorAll('.wpaicg-conversation-starter');starters.forEach((starter,index)=>{setTimeout(()=>{starter.style.opacity="1";starter.style.transform="translateY(0)"},index*150)})}}
function wpaicgChatShortcodeSize(){var wpaicgWindowWidth=window.innerWidth;var wpaicgWindowHeight=window.innerHeight;var chatShortcodes=document.getElementsByClassName('wpaicg-chat-shortcode');if(chatShortcodes!==null&&chatShortcodes.length){for(var i=0;i<chatShortcodes.length;i++){var chatShortcode=chatShortcodes[i];var parentChat=chatShortcode.parentElement;var parentWidth=parentChat.offsetWidth;var chatWidth=chatShortcode.getAttribute('data-width');var chatHeight=chatShortcode.getAttribute('data-height');var chatFooter=chatShortcode.getAttribute('data-footer')==='true';var chatBar=chatShortcode.getAttribute('data-has-bar');var chatRounded=parseFloat(chatShortcode.getAttribute('data-chat_rounded'));var textRounded=parseFloat(chatShortcode.getAttribute('data-text_rounded'));var textHeight=parseFloat(chatShortcode.getAttribute('data-text_height'));var textInput=chatShortcode.getElementsByClassName('wpaicg-chat-shortcode-typing')[0];textInput.style.height=textHeight+'px';textInput.style.borderRadius=textRounded+'px';chatShortcode.style.borderRadius=chatRounded+'px';chatShortcode.style.overflow='hidden';chatWidth=chatWidth!==null?chatWidth:'350';chatHeight=chatHeight!==null?chatHeight:'400';if(chatShortcode.classList.contains('wpaicg-fullscreened')){parentWidth=wpaicgWindowWidth;chatWidth=resolveDimension(chatWidth,parentWidth);chatHeight=resolveDimension(chatHeight,wpaicgWindowHeight);chatShortcode.style.width=chatWidth+'px';chatShortcode.style.maxWidth=chatWidth+'px';chatShortcode.style.height=chatHeight+'px';chatShortcode.style.maxHeight=chatHeight+'px';chatShortcode.style.marginTop=0;var deduceHeight=69;if(chatFooter){deduceHeight+=60}
if(chatBar){deduceHeight+=30}
var chatMessages=chatShortcode.getElementsByClassName('wpaicg-chat-shortcode-messages')[0];chatMessages.style.height=(chatHeight-deduceHeight-textHeight)+'px';chatMessages.scrollTop=chatMessages.scrollHeight}else{if(chatWidth.indexOf('%')<0){if(chatWidth.indexOf('px')<0){chatWidth=parseFloat(chatWidth)}else{chatWidth=parseFloat(chatWidth.replace(/px/g,''))}}else{chatWidth=parseFloat(chatWidth.replace(/%/g,''));if(chatWidth<100){chatWidth=chatWidth*parentWidth/100}else{chatWidth=''}}
if(chatHeight.indexOf('%')<0){if(chatHeight.indexOf('px')<0){chatHeight=parseFloat(chatHeight)}else{chatHeight=parseFloat(chatHeight.replace(/px/g,''))}}else{chatHeight=parseFloat(chatHeight.replace(/%/g,''));chatHeight=chatHeight*wpaicgWindowHeight/100}
if(chatWidth!==''){chatShortcode.style.width=chatWidth+'px';chatShortcode.style.maxWidth=chatWidth+'px'}else{chatShortcode.style.width='';chatShortcode.style.maxWidth=''}
if(chatShortcode.classList.contains('wpaicg-fullscreened')){chatShortcode.style.marginTop=0}else{chatShortcode.style.marginTop=''}
var chatMessages=chatShortcode.getElementsByClassName('wpaicg-chat-shortcode-messages')[0];var deduceHeight=69;if(chatFooter){deduceHeight+=60}
if(chatBar){deduceHeight+=30}
chatMessages.style.height=(chatHeight-deduceHeight)+'px'}}}}
function wpaicgChatBoxSize(){var wpaicgWindowWidth=window.innerWidth;var wpaicgWindowHeight=window.innerHeight;var chatWidgets=document.getElementsByClassName('wpaicg_chat_widget_content');if(chatWidgets.length){for(var i=0;i<chatWidgets.length;i++){var chatWidget=chatWidgets[i];var chatbox=chatWidget.getElementsByClassName('wpaicg-chatbox')[0];var chatWidth=chatbox.getAttribute('data-width')||'350';var chatHeight=chatbox.getAttribute('data-height')||'400';var chatFooter=chatbox.getAttribute('data-footer');var chatboxBar=chatbox.getElementsByClassName('wpaicg-chatbox-action-bar');var textHeight=parseFloat(chatbox.getAttribute('data-text_height'));chatWidth=resolveDimension(chatWidth,wpaicgWindowWidth);chatHeight=resolveDimension(chatHeight,wpaicgWindowHeight);chatbox.style.width=chatWidth+'px';chatbox.style.height=chatHeight+'px';chatWidget.style.width=chatWidth+'px';chatWidget.style.height=chatHeight+'px';var actionBarHeight=chatboxBar.length?40:0;var footerHeight=chatFooter?60:0;var contentHeight=chatHeight-textHeight-actionBarHeight-footerHeight-20;var messagesHeight=contentHeight-20;var chatboxContent=chatWidget.getElementsByClassName('wpaicg-chatbox-content')[0];var chatboxMessages=chatWidget.getElementsByClassName('wpaicg-chatbox-messages')[0];chatboxContent.style.height=contentHeight+'px';chatboxMessages.style.height=messagesHeight+'px';chatboxMessages.scrollTop=chatboxMessages.scrollHeight}}}
function resolveDimension(value,totalSize){if(value.includes('%')){return parseFloat(value)/100*totalSize}else if(value.includes('px')){return parseFloat(value.replace('px',''))}
return parseFloat(value)}
function wpaicgChatInit(){let wpaicgMicIcon='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M176 0C123 0 80 43 80 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM48 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H200V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z"/></svg>';let wpaicgStopIcon='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg>';var wpaicgChatStream;var wpaicgChatRec;var wpaicgInput;var wpaicgChatAudioContext=window.AudioContext||window.webkitAudioContext;var wpaicgaudioContext;var wpaicgMicBtns=document.querySelectorAll('.wpaicg-mic-icon');var wpaicgChatTyping=document.querySelectorAll('.wpaicg-chatbox-typing');var wpaicgShortcodeTyping=document.querySelectorAll('.wpaicg-chat-shortcode-typing');var wpaicgChatSend=document.querySelectorAll('.wpaicg-chatbox-send');var wpaicgShortcodeSend=document.querySelectorAll('.wpaicg-chat-shortcode-send');var wpaicgChatFullScreens=document.getElementsByClassName('wpaicg-chatbox-fullscreen');var wpaicgChatCloseButtons=document.getElementsByClassName('wpaicg-chatbox-close-btn');var wpaicgChatDownloadButtons=document.getElementsByClassName('wpaicg-chatbox-download-btn');var wpaicg_chat_widget_toggles=document.getElementsByClassName('wpaicg_toggle');var wpaicg_chat_widgets=document.getElementsByClassName('wpaicg_chat_widget');var imageInputThumbnail=null;function setupConversationStarters(){const starters=document.querySelectorAll('.wpaicg-conversation-starter');starters.forEach(starter=>{starter.addEventListener('click',function(){const messageText=starter.innerText||starter.textContent;const chatContainer=starter.closest('.wpaicg-chat-shortcode')||starter.closest('.wpaicg-chatbox');const type=chatContainer.classList.contains('wpaicg-chat-shortcode')?'shortcode':'widget';const typingInput=type==='shortcode'?chatContainer.querySelector('.wpaicg-chat-shortcode-typing'):chatContainer.querySelector('.wpaicg-chatbox-typing');typingInput.value=messageText;wpaicgSendChatMessage(chatContainer,typingInput,type);starters.forEach(starter=>{starter.style.display='none'})})})}
function maybeShowLeadForm(chat,chatId){function isTruthy(value){if(value===null||value===undefined)return!1;return value==='1'||value.toLowerCase()==='true'}
let leadCollectionEnabled=isTruthy(chat.getAttribute('data-lead-collection'));if(!leadCollectionEnabled){return}
let leadFormShown=localStorage.getItem('wpaicg_lead_form_shown');if(leadFormShown==='1'){return}
let enableLeadName=isTruthy(chat.getAttribute('data-enable-lead-name'));let enableLeadEmail=isTruthy(chat.getAttribute('data-enable-lead-email'));let enableLeadPhone=isTruthy(chat.getAttribute('data-enable-lead-phone'));if(!(enableLeadName||enableLeadEmail||enableLeadPhone)){return}
let leadTitle=chat.getAttribute('data-lead-title')||'Contact Information';let leadNameLabel=chat.getAttribute('data-lead-name')||'Name';let leadEmailLabel=chat.getAttribute('data-lead-email')||'Email';let leadPhoneLabel=chat.getAttribute('data-lead-phone')||'Phone';let wpaicg_nonce=chat.getAttribute('data-nonce');let aiBg=chat.getAttribute('data-ai-bg-color');let fontSize=chat.getAttribute('data-fontsize');let fontColor=chat.getAttribute('data-color');let text_field_bgcolor=chat.getAttribute('data-bg_text_field');let text_field_font_color=chat.getAttribute('data-bg_text_field_font_color');let text_field_border_color=chat.getAttribute('data-bg_text_field_border_color');let formHtml=`
        <li class="wpaicg-lead-form-message" style="background-color:${aiBg};font-size:${fontSize}px;color:${fontColor}">
            <div class="wpaicg-lead-form-container">
                <button class="wpaicg-lead-form-close" style="float:right;">&times;</button>
                <h2>${leadTitle}</h2>
                <form>
        `;if(enableLeadName){formHtml+=`
                <div class="wpaicg-lead-form-field">
                    <label>${leadNameLabel}</label>
                    <input type="text" name="lead_name"/>
                </div>
            `}
if(enableLeadEmail){formHtml+=`
                <div class="wpaicg-lead-form-field">
                    <label>${leadEmailLabel}</label>
                    <input type="email" name="lead_email" />
                </div>
            `}
if(enableLeadPhone){formHtml+=`
                <div class="wpaicg-lead-form-field">
                    <label>${leadPhoneLabel}</label>
                    <input type="tel" name="lead_phone"/>
                </div>
            `}
formHtml+=`
                <div class="wpaicg-lead-form-error" style="color: red; display: none;"></div>
        `;formHtml+=`
                    <div class="svg-submit-button-container">
                        <button type="submit" class="svg-submit-button">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill=${fontColor} aria-hidden="true" width="24" height="24"><path d="M3.478 2.405a.75.75 0 00-.926.94l2.432 7.905H13.5a.75.75 0 010 1.5H4.984l-2.432 7.905a.75.75 0 00.926.94 60.519 60.519 0 0018.445-8.986.75.75 0 000-1.218A60.517 60.517 0 003.478 2.405z"></path></svg>
                        </button>
                    </div>
                </form>
            </div>
        </li>
        `;let messagesList=chat.querySelector('.wpaicg-chatbox-messages')||chat.querySelector('.wpaicg-chat-shortcode-messages');if(messagesList){messagesList.insertAdjacentHTML('beforeend',formHtml)}
let styles=`
        .wpaicg-lead-form-message {
            list-style: none;
            padding: 10px;
            margin-bottom: 10px;
            position: relative;
        }
    
        .wpaicg-lead-form-container {
            display: block;
        }
    
        .wpaicg-lead-form-container h2 {
            margin-top: 0;
            font-size: 1.2em;
            margin-bottom: 10px;
            color: ${fontColor};
            padding-right: 40px;
        }
    
        .wpaicg-lead-form-close {
            position: absolute;
            top: 10px;
            right: 10px;
            background: none;
            border: none;
            font-size: 18px;
            cursor: pointer;
            color: ${fontColor};
        }
    
        .wpaicg-lead-form-field {
            margin-bottom: 15px;
        }
    
        .wpaicg-lead-form-field label {
            display: block;
            margin-bottom: 5px;
        }
    
        .wpaicg-lead-form-field input {
            color: ${text_field_font_color};
            background-color: ${text_field_bgcolor};
            width: 100%;
            padding: 8px;
            box-sizing: border-box;
            border: 1px solid ${text_field_border_color};
        }
    
        .svg-submit-button {
            background-color: ${aiBg};
            border: none;
            cursor: pointer;
            padding: 10px;
            outline: none;
        }

        .svg-submit-button svg {
            fill: ${fontColor}; /* Dynamic color */
            transition: fill 0.3s ease;
        }

        /* Spinner inside button */
        .wpaicg-lead-spinner {
            display: inline-flex;
            justify-content: center;
            align-items: center;
        }

        .wpaicg-lead-spinner .dot {
            font-size: 16px;
            color: ${fontColor};
            animation: jump 1s infinite;
            margin: 0 2px;
        }

        /* Align submit button to the right */
        .svg-submit-button-container {
            text-align: right; /* This aligns the button to the right */
        }

        @keyframes jump {
            0%, 100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-6px);
            }
        }

        `;let styleSheet=document.createElement("style");styleSheet.innerText=styles;document.head.appendChild(styleSheet);let formMessage=messagesList.querySelector('.wpaicg-lead-form-message');let closeButton=formMessage.querySelector('.wpaicg-lead-form-close');let form=formMessage.querySelector('form');let errorDiv=form.querySelector('.wpaicg-lead-form-error');closeButton.addEventListener('click',function(){formMessage.remove();localStorage.setItem('wpaicg_lead_form_shown','1')});form.addEventListener('submit',function(event){event.preventDefault();let nameInput=form.querySelector('input[name="lead_name"]');let emailInput=form.querySelector('input[name="lead_email"]');let phoneInput=form.querySelector('input[name="lead_phone"]');let nameValue=nameInput?nameInput.value.trim():'';let emailValue=emailInput?emailInput.value.trim():'';let phoneValue=phoneInput?phoneInput.value.trim():'';if(!nameValue&&!emailValue&&!phoneValue){errorDiv.textContent='Please fill in at least one field.';errorDiv.style.display='block';return}else{errorDiv.textContent='';errorDiv.style.display='none'}
let submitButton=form.querySelector('.svg-submit-button');submitButton.innerHTML=`
                <div class="wpaicg-lead-spinner">
                    <span class="dot">•</span>
                    <span class="dot">•</span>
                    <span class="dot">•</span>
                </div>
            `;submitButton.disabled=!0;let formData=new FormData(form);formData.append('action','wpaicg_submit_lead');formData.append('_wpnonce',wpaicg_nonce);formData.append('chatId',chatId);fetch(wpaicgParams.ajax_url,{method:'POST',body:formData}).then(response=>response.json()).then(data=>{formMessage.remove();localStorage.setItem('wpaicg_lead_form_shown','1')}).catch(error=>{console.error('Error submitting lead form:',error);formMessage.remove();localStorage.setItem('wpaicg_lead_form_shown','1')}).finally(()=>{submitButton.innerHTML=`
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="${fontColor}" class="bi bi-send" viewBox="0 0 16 16">
                        <path d="M15.5 0.5a.5.5 0 0 0-.854-.353L.646 14.646a.5.5 0 0 0 .708.708L15.5 0.854A.5.5 0 0 0 15.5 0.5z"/>
                        <path d="M6.646 15.646l8-8a.5.5 0 0 0-.708-.708l-8 8a.5.5 0 1 0 .708.708z"/>
                        <path d="M4.5 3.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6z"/>
                    </svg>
                `;submitButton.disabled=!1})})}
setupConversationStarters();var wpaicgUserAudioEnabled={};function setupAudioButtons(){var wpaicgAudioButtons=document.querySelectorAll('.wpaicg-chatbox-audio-btn');wpaicgAudioButtons.forEach(button=>{var chatContainer=button.closest('.wpaicg-chat-shortcode, .wpaicg-chatbox');var botId=chatContainer.getAttribute('data-bot-id')||'0';var chatType=chatContainer.getAttribute('data-type')||'shortcode';var audioKey=`audio_${chatType}_${botId}`;var voiceMutedByDefault=chatContainer.getAttribute('data-voice-muted-by-default')==='1';if(voiceMutedByDefault){wpaicgUserAudioEnabled[audioKey]=!1;button.classList.remove('wpaicg-audio-enabled');button.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z"/></svg>'}else{wpaicgUserAudioEnabled[audioKey]=!0;button.classList.add('wpaicg-audio-enabled');button.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"/></svg>'}
button.addEventListener('click',function(){wpaicgUserAudioEnabled[audioKey]=!wpaicgUserAudioEnabled[audioKey];if(wpaicgUserAudioEnabled[audioKey]){button.classList.add('wpaicg-audio-enabled');button.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"/></svg>'}else{button.classList.remove('wpaicg-audio-enabled');button.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z"/></svg>'}})})}
setupAudioButtons();var imageIcon=document.querySelector('.wpaicg-img-icon');var spinner=document.querySelector('.wpaicg-img-spinner');var thumbnailPlaceholder=document.querySelector('.wpaicg-thumbnail-placeholder');if(imageIcon){imageIcon.addEventListener('click',function(){var imageInput=document.getElementById('imageUpload');imageInput.click()})}
var imageInput=document.getElementById('imageUpload');if(imageInput){imageInput.addEventListener('change',function(){if(this.files&&this.files[0]){var file=this.files[0];imageIcon.style.display='none';spinner.style.display='inline-block';imageIcon.title=file.name;setTimeout(function(){spinner.style.display='none';imageIcon.style.display='inline-block';thumbnailPlaceholder.style.backgroundImage=`url(${URL.createObjectURL(file)})`;thumbnailPlaceholder.style.backgroundSize='cover';thumbnailPlaceholder.style.backgroundPosition='center';thumbnailPlaceholder.style.backgroundRepeat='no-repeat';thumbnailPlaceholder.style.display='inline-block'},2000)}})}
function setupClearChatButtons(){var wpaicgChatClearButtons=document.querySelectorAll('.wpaicg-chatbox-clear-btn');wpaicgChatClearButtons.forEach(button=>{button.addEventListener('click',function(){var chatContainer=button.closest('[data-bot-id]');if(chatContainer){var botId=chatContainer.getAttribute('data-bot-id')||'0';var clientId=localStorage.getItem('wpaicg_chat_client_id');clearChatHistory(botId,clientId,chatContainer)}})})}
function clearChatHistory(botId,clientId,chatContainer){var isCustomBot=botId!=='0';var type=chatContainer.classList.contains('wpaicg-chat-shortcode')?'shortcode':'widget';var historyKey=isCustomBot?`wpaicg_chat_history_custom_bot_${botId}_${clientId}`:`wpaicg_chat_history_${type}_${clientId}`;localStorage.removeItem(historyKey);var chatBoxSelector='.wpaicg-chatbox-messages, .wpaicg-chat-shortcode-messages';var chatBox=chatContainer.querySelector(chatBoxSelector);if(chatBox){chatBox.innerHTML=''}
localStorage.removeItem('wpaicg_lead_form_shown')}
setupClearChatButtons();if(wpaicg_chat_widget_toggles!==null&&wpaicg_chat_widget_toggles.length){for(var i=0;i<wpaicg_chat_widget_toggles.length;i++){var wpaicg_chat_widget_toggle=wpaicg_chat_widget_toggles[i];var wpaicg_chat_widget=wpaicg_chat_widget_toggle.closest('.wpaicg_chat_widget');wpaicg_chat_widget_toggle.addEventListener('click',function(e){e.preventDefault();wpaicg_chat_widget_toggle=e.currentTarget;if(wpaicg_chat_widget_toggle.classList.contains('wpaicg_widget_open')){wpaicg_chat_widget_toggle.classList.remove('wpaicg_widget_open');wpaicg_chat_widget.classList.remove('wpaicg_widget_open')}else{wpaicg_chat_widget.classList.add('wpaicg_widget_open');wpaicg_chat_widget_toggle.classList.add('wpaicg_widget_open')}})}}
if(wpaicgChatDownloadButtons.length){for(var i=0;i<wpaicgChatDownloadButtons.length;i++){var wpaicgChatDownloadButton=wpaicgChatDownloadButtons[i];wpaicgChatDownloadButton.addEventListener('click',function(e){wpaicgChatDownloadButton=e.currentTarget;var type=wpaicgChatDownloadButton.getAttribute('data-type');var wpaicgWidgetContent,listMessages;if(type==='shortcode'){wpaicgWidgetContent=wpaicgChatDownloadButton.closest('.wpaicg-chat-shortcode');listMessages=wpaicgWidgetContent.getElementsByClassName('wpaicg-chat-shortcode-messages')}else{wpaicgWidgetContent=wpaicgChatDownloadButton.closest('.wpaicg_chat_widget_content');listMessages=wpaicgWidgetContent.getElementsByClassName('wpaicg-chatbox-messages')}
if(listMessages.length){var listMessage=listMessages[0];var messages=[];var chatMessages=listMessage.getElementsByTagName('li');if(chatMessages.length){for(var i=0;i<chatMessages.length;i++){messages.push(chatMessages[i].innerText.replace("\n",' '))}}
var messagesDownload=messages.join("\n");var element=document.createElement('a');element.setAttribute('href','data:text/plain;charset=utf-8,'+encodeURIComponent(messagesDownload));element.setAttribute('download','chat.txt');element.style.display='none';document.body.appendChild(element);element.click();document.body.removeChild(element)}})}}
if(wpaicgChatCloseButtons.length){for(var i=0;i<wpaicgChatCloseButtons.length;i++){var wpaicgChatCloseButton=wpaicgChatCloseButtons[i];wpaicgChatCloseButton.addEventListener('click',function(e){wpaicgChatCloseButton=e.currentTarget;var wpaicgWidgetContent=wpaicgChatCloseButton.closest('.wpaicg_chat_widget_content');var chatbox=wpaicgWidgetContent.closest('.wpaicg_chat_widget');if(wpaicgWidgetContent.classList.contains('wpaicg-fullscreened')){var fullScreenBtn=wpaicgWidgetContent.getElementsByClassName('wpaicg-chatbox-fullscreen')[0];wpaicgFullScreen(fullScreenBtn)}
chatbox.getElementsByClassName('wpaicg_toggle')[0].click()})}}
function wpaicgFullScreen(btn){var type=btn.getAttribute('data-type');if(type==='shortcode'){var wpaicgChatShortcode=btn.closest('.wpaicg-chat-shortcode');if(btn.classList.contains('wpaicg-fullscreen-box')){btn.classList.remove('wpaicg-fullscreen-box');var chatWidth=wpaicgChatShortcode.getAttribute('data-old-width');var chatHeight=wpaicgChatShortcode.getAttribute('data-old-height');wpaicgChatShortcode.style.width=chatWidth;wpaicgChatShortcode.style.height=chatHeight;wpaicgChatShortcode.setAttribute('data-width',chatWidth);wpaicgChatShortcode.setAttribute('data-height',chatHeight);wpaicgChatShortcode.style.position='';wpaicgChatShortcode.style.top='';wpaicgChatShortcode.style.left='';wpaicgChatShortcode.style.zIndex='';wpaicgChatShortcode.classList.remove('wpaicg-fullscreened')}else{var newChatBoxWidth=document.body.offsetWidth;var chatWidth=window.getComputedStyle(wpaicgChatShortcode).width;var chatHeight=window.getComputedStyle(wpaicgChatShortcode).height;wpaicgChatShortcode.setAttribute('data-old-width',chatWidth);wpaicgChatShortcode.setAttribute('data-old-height',chatHeight);wpaicgChatShortcode.setAttribute('data-width',newChatBoxWidth);wpaicgChatShortcode.setAttribute('data-height','100%');btn.classList.add('wpaicg-fullscreen-box');wpaicgChatShortcode.style.width=newChatBoxWidth;wpaicgChatShortcode.style.height='100vh';wpaicgChatShortcode.style.position='fixed';wpaicgChatShortcode.style.top=0;wpaicgChatShortcode.style.left=0;wpaicgChatShortcode.style.zIndex=999999999;wpaicgChatShortcode.classList.add('wpaicg-fullscreened')}
wpaicgChatShortcodeSize()}else{var wpaicgWidgetContent=btn.closest('.wpaicg_chat_widget_content');var chatbox=wpaicgWidgetContent.getElementsByClassName('wpaicg-chatbox')[0];if(btn.classList.contains('wpaicg-fullscreen-box')){btn.classList.remove('wpaicg-fullscreen-box');var chatWidth=chatbox.getAttribute('data-old-width');var chatHeight=chatbox.getAttribute('data-old-height');chatbox.setAttribute('data-width',chatWidth);chatbox.setAttribute('data-height',chatHeight);wpaicgWidgetContent.style.position='absolute';wpaicgWidgetContent.style.bottom='';wpaicgWidgetContent.style.left='';wpaicgWidgetContent.classList.remove('wpaicg-fullscreened')}else{var newChatBoxWidth=document.body.offsetWidth;var chatWidth=window.getComputedStyle(chatbox).width;var chatHeight=window.getComputedStyle(chatbox).height;chatbox.setAttribute('data-old-width',chatWidth);chatbox.setAttribute('data-old-height',chatHeight);chatbox.setAttribute('data-width',newChatBoxWidth);chatbox.setAttribute('data-height','100%');btn.classList.add('wpaicg-fullscreen-box');chatbox.style.width=newChatBoxWidth;chatbox.style.height='100vh';wpaicgWidgetContent.style.position='fixed';wpaicgWidgetContent.style.bottom=0;wpaicgWidgetContent.style.left=0;wpaicgWidgetContent.classList.add('wpaicg-fullscreened')}
wpaicgChatBoxSize()}}
if(wpaicgChatFullScreens.length){for(var i=0;i<wpaicgChatFullScreens.length;i++){var wpaicgChatFullScreen=wpaicgChatFullScreens[i];wpaicgChatFullScreen.addEventListener('click',function(e){wpaicgFullScreen(e.currentTarget)})}}
function resizeChatWidgets(){if(wpaicg_chat_widgets!==null&&wpaicg_chat_widgets.length){for(var i=0;i<wpaicg_chat_widgets.length;i++){var wpaicg_chat_widget=wpaicg_chat_widgets[i];if(window.innerWidth<350){wpaicg_chat_widget.getElementsByClassName('wpaicg-chatbox')[0].style.width=window.innerWidth+'px';wpaicg_chat_widget.getElementsByClassName('wpaicg_chat_widget_content')[0].style.width=window.innerWidth+'px'}}}}
window.addEventListener('resize',function(){wpaicgChatBoxSize();wpaicgChatShortcodeSize();resizeChatWidgets()});wpaicgChatShortcodeSize();wpaicgChatBoxSize();resizeChatWidgets();function wpaicgescapeHtml(unsafe){return unsafe.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}
function wpaicgstartChatRecording(){let constraints={audio:!0,video:!1}
navigator.mediaDevices.getUserMedia(constraints).then(function(stream){wpaicgaudioContext=new wpaicgChatAudioContext();wpaicgChatStream=stream;wpaicgInput=wpaicgaudioContext.createMediaStreamSource(stream);wpaicgChatRec=new Recorder(wpaicgInput,{numChannels:1});wpaicgChatRec.record()})}
function wpaicgstopChatRecording(mic){wpaicgChatRec.stop();wpaicgChatStream.getAudioTracks()[0].stop();wpaicgChatRec.exportWAV(function(blob){let type=mic.getAttribute('data-type');let parentChat;let chatContent;let chatTyping;if(type==='widget'){parentChat=mic.closest('.wpaicg-chatbox');chatContent=parentChat.querySelectorAll('.wpaicg-chatbox-content')[0];chatTyping=parentChat.querySelectorAll('.wpaicg-chatbox-typing')[0]}else{parentChat=mic.closest('.wpaicg-chat-shortcode');chatContent=parentChat.querySelectorAll('.wpaicg-chat-shortcode-content')[0];chatTyping=parentChat.querySelectorAll('.wpaicg-chat-shortcode-typing')[0]}
wpaicgSendChatMessage(parentChat,chatTyping,type,blob)})}
function generateRandomString(length){let result='';let characters='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';let charactersLength=characters.length;for(let i=0;i<length;i++){result+=characters.charAt(Math.floor(Math.random()*charactersLength))}
return result}
function setupButtonListeners(isCopyEnabled,isFeedbackEnabled,class_ai_item,emptyClipboardSVG,checkedClipboardSVG,thumbsUpSVG,thumbsDownSVG,showFeedbackModal,aiBg,fontColor,usrBg,chat,wpaicg_nonce,chatbot_identity){let hideTimeout;jQuery(document).on('mouseenter touchstart',`li.${class_ai_item} .wpaicg-icon-container`,function(event){clearTimeout(hideTimeout);if(event.type==='touchstart'){event.stopPropagation()}
const buttons=jQuery(this).find('.wpaicg-copy-button, .wpaicg-thumbs-up-button, .wpaicg-thumbs-down-button');if(isCopyEnabled){buttons.filter('.wpaicg-copy-button').css({display:'inline-block',opacity:1,visibility:'visible'})}
if(isFeedbackEnabled){buttons.filter('.wpaicg-thumbs-up-button, .wpaicg-thumbs-down-button').css({display:'inline-block',opacity:1,visibility:'visible'})}});jQuery(document).on('mouseleave touchend',`li.${class_ai_item} .wpaicg-icon-container`,function(){const buttons=jQuery(this).find('.wpaicg-copy-button, .wpaicg-thumbs-up-button, .wpaicg-thumbs-down-button');hideTimeout=setTimeout(()=>{buttons.css({opacity:0,visibility:'hidden',display:'none'})},2000)});jQuery(document).on('click','.wpaicg-copy-button',function(){const chatId=jQuery(this).data('chat-id');const messageText=document.getElementById(chatId).innerText;navigator.clipboard.writeText(messageText).then(()=>{jQuery(this).html(checkedClipboardSVG);setTimeout(()=>{jQuery(this).html(emptyClipboardSVG)},2000)}).catch(err=>console.error('Failed to copy text: ',err))});jQuery(document).on('click','.wpaicg-thumbs-up-button, .wpaicg-thumbs-down-button',function(){const feedbackType=jQuery(this).hasClass('wpaicg-thumbs-up-button')?'up':'down';const chatId=jQuery(this).data('chat-id').replace('wpaicg-chat-message-','');showFeedbackModal(feedbackType,chatId,aiBg,fontColor,usrBg,chat,wpaicg_nonce,chatbot_identity)})}
function showFeedbackModal(feedbackType,chatId,bgColor,textColor,usrBg,chat,wpaicg_nonce,chatbot_identity){const chatWidget=jQuery('.wpaicg_chat_widget');const feedbackTitle=chat.getAttribute('data-feedback_title')||'Feedback';const feedbackMessage=chat.getAttribute('data-feedback_message')||'Please provide details: (optional)';const feedbackSuccessMessage=chat.getAttribute('data-feedback_success')||'Thank you for your feedback!';const chatShortcode=jQuery(chat).closest('.wpaicg-chat-shortcode');const wasFullscreen=chatShortcode.hasClass('wpaicg-fullscreened');if(wasFullscreen){const fullScreenBtn=chatShortcode.find('.wpaicg-chatbox-fullscreen');wpaicgFullScreen(fullScreenBtn[0])}
if(chatWidget.hasClass('wpaicg_widget_open')){chatWidget.data('was-open',!0);chatWidget.removeClass('wpaicg_widget_open')}else{chatWidget.data('was-open',!1)}
const modalHtml=` 
            <style>
                @keyframes wpaicg-feedback-spin {
                    0% { transform: rotate(0deg); }
                    100% { transform: rotate(360deg); }
                }
        
                .wpaicg-feedback-spinner {
                    display: inline-block;
                    width: 16px;
                    height: 16px;
                    border: 2px solid ${textColor};
                    border-top: 2px solid ${bgColor};
                    border-radius: 50%;
                    animation: wpaicg-feedback-spin 1s linear infinite;
                }
                .wpaicg-feedback-message {
                    color: ${textColor};
                }
            </style>
            <div class="wpaicg-feedback-modal-overlay">
                <div class="wpaicg-feedback-modal" style="background-color:${bgColor};color:${textColor};position:relative;">
                    <button class="wpaicg-feedback-modal-close" style="position:absolute; top:10px; right:10px; background:none; border:none; color:${textColor}; font-size:18px; cursor:pointer;">&times;</button>
                    <h2 style="background-color:${bgColor};color:${textColor};">${feedbackTitle}</h2>
                    <p>${feedbackMessage}</p>
                    <textarea class="wpaicg-feedback-textarea"></textarea>
                    <div class="wpaicg-feedback-modal-buttons">
                        <div class="wpaicg-feedback-message" style="display:none;"></div>
                        <button class="wpaicg-feedback-modal-submit" style="background-color:${usrBg};color:${textColor};border:none;" data-feedback-type="${feedbackType}" data-chat-id="${chatId}">
                            Submit
                            <span class="wpaicg-feedback-spinner" style="display:none; margin-left:5px; border: 2px solid ${textColor}; border-top: 2px solid ${bgColor}; border-radius: 50%; width: 16px; height: 16px; animation: wpaicg-feedback-spin 1s linear infinite;"></span>
                        </button>
                    </div>
                </div>
            </div>
        `;jQuery('body').append(modalHtml);jQuery('.wpaicg-feedback-modal-close').on('click',function(){jQuery('.wpaicg-feedback-modal-overlay').fadeOut(300,function(){jQuery(this).remove();if(wasFullscreen){const fullScreenBtn=chatShortcode.find('.wpaicg-chatbox-fullscreen');wpaicgFullScreen(fullScreenBtn[0])}
if(chatWidget.data('was-open')){chatWidget.addClass('wpaicg_widget_open')}})});jQuery('.wpaicg-feedback-modal-submit').on('click',function(){const modal=jQuery(this).closest('.wpaicg-feedback-modal');const feedbackText=modal.find('.wpaicg-feedback-textarea').val();const feedbackType=jQuery(this).data('feedback-type');const chatId=jQuery(this).data('chat-id');const nonce=wpaicg_nonce;const submitButton=jQuery(this);const spinner=submitButton.find('.wpaicg-feedback-spinner');const feedbackMessageElement=modal.find('.wpaicg-feedback-message');spinner.show();submitButton.prop('disabled',!0);jQuery.ajax({url:wpaicgParams.ajax_url,method:'POST',data:{action:'wpaicg_submit_feedback',chatId:chatId,feedbackType:feedbackType,feedbackDetails:feedbackText,_wpnonce:nonce,chatbot_id:chatbot_identity,},success:function(response){feedbackMessageElement.html(`<span style="color:${textColor};">${feedbackSuccessMessage}</span>`).fadeIn(300);setTimeout(()=>{jQuery('.wpaicg-feedback-modal-overlay').fadeOut(300,function(){jQuery(this).remove();if(chatWidget.data('was-open')){chatWidget.addClass('wpaicg_widget_open')}
if(wasFullscreen){const fullScreenBtn=chatShortcode.find('.wpaicg-chatbox-fullscreen');wpaicgFullScreen(fullScreenBtn[0])}})},2000)},error:function(error){feedbackMessageElement.html(`<span style="color:${textColor};">Error. Please try again later.</span>`).fadeIn(300);setTimeout(()=>{jQuery('.wpaicg-feedback-modal-overlay').fadeOut(300,function(){jQuery(this).remove();if(chatWidget.data('was-open')){chatWidget.addClass('wpaicg_widget_open')}
if(wasFullscreen){const fullScreenBtn=chatShortcode.find('.wpaicg-chatbox-fullscreen');wpaicgFullScreen(fullScreenBtn[0])}})},2000)},complete:function(){spinner.hide();submitButton.prop('disabled',!1)}})})}
function wpaicgSendChatMessage(chat,typing,type,blob){hideConversationStarters();var leadFormMessage=chat.querySelector('.wpaicg-lead-form-message');if(leadFormMessage){leadFormMessage.remove();localStorage.setItem('wpaicg_lead_form_shown','1')}
let botIdAudio=chat.getAttribute('data-bot-id')||'0';let chatTypeAudio=chat.getAttribute('data-type')||'shortcode';let audioKey=`audio_${chatTypeAudio}_${botIdAudio}`;let isAudioEnabledByUser=wpaicgUserAudioEnabled[audioKey];let userVoiceControl=chat.getAttribute('data-user-voice-control');let wpaicg_box_typing=typing;let wpaicg_ai_thinking,wpaicg_messages_box,class_user_item,class_ai_item;let wpaicgMessage='';let wpaicgData=new FormData();let wpaicg_you=chat.getAttribute('data-you')+':';let wpaicg_ai_name=chat.getAttribute('data-ai-name')+':';let wpaicg_nonce=chat.getAttribute('data-nonce');let wpaicg_use_avatar=parseInt(chat.getAttribute('data-use-avatar'));let wpaicg_bot_id=parseInt(chat.getAttribute('data-bot-id'));let wpaicg_user_avatar=chat.getAttribute('data-user-avatar');let wpaicg_ai_avatar=chat.getAttribute('data-ai-avatar');let wpaicg_user_bg=chat.getAttribute('data-user-bg-color');let wpaicg_font_size=chat.getAttribute('data-fontsize');let wpaicg_speech=chat.getAttribute('data-speech');let wpaicg_voice=chat.getAttribute('data-voice');let elevenlabs_model=chat.getAttribute('data-elevenlabs-model');if(elevenlabs_model===null||elevenlabs_model===undefined){elevenlabs_model=chat.getAttribute('data-elevenlabs_model')}
let elevenlabs_voice=chat.getAttribute('data-elevenlabs-voice');if(elevenlabs_voice===null||elevenlabs_voice===undefined){elevenlabs_voice=chat.getAttribute('data-elevenlabs_voice')}
let wpaicg_voice_error=chat.getAttribute('data-voice-error');let wpaicg_typewriter_effect=chat.getAttribute('data-typewriter-effect');let wpaicg_typewriter_speed=chat.getAttribute('data-typewriter-speed');let url=chat.getAttribute('data-url');let post_id=chat.getAttribute('data-post-id');let wpaicg_ai_bg=chat.getAttribute('data-ai-bg-color');let wpaicg_font_color=chat.getAttribute('data-color');let voice_service=chat.getAttribute('data-voice_service');let voice_language=chat.getAttribute('data-voice_language');let voice_name=chat.getAttribute('data-voice_name');let voice_device=chat.getAttribute('data-voice_device');let openai_model=chat.getAttribute('data-openai_model');let openai_voice=chat.getAttribute('data-openai_voice');let openai_output_format=chat.getAttribute('data-openai_output_format');let openai_voice_speed=chat.getAttribute('data-openai_voice_speed');let openai_stream_nav=chat.getAttribute('data-openai_stream_nav');let voice_speed=chat.getAttribute('data-voice_speed');let voice_pitch=chat.getAttribute('data-voice_pitch');var chat_pdf=chat.getAttribute('data-pdf');var imageInput=document.getElementById('imageUpload');var imageUrl='';if(imageInput){if(imageInput.files&&imageInput.files[0]){var validImageTypes=['image/png','image/jpeg','image/jpg','image/webp','image/gif'];if(!validImageTypes.includes(imageInput.files[0].type)){alert('Invalid file type. Only PNG, JPEG, WEBP, and non-animated GIF images are allowed.');return}
wpaicgData.append('image',imageInput.files[0],imageInput.files[0].name);imageUrl=URL.createObjectURL(imageInput.files[0])}}
if(type==='widget'){wpaicg_ai_thinking=chat.getElementsByClassName('wpaicg-bot-thinking')[0];wpaicg_messages_box=chat.getElementsByClassName('wpaicg-chatbox-messages')[0];class_user_item='wpaicg-chat-user-message';class_ai_item='wpaicg-chat-ai-message';wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight;const messages=wpaicg_messages_box.querySelectorAll('li');if(messages.length>0){messages[messages.length-1].scrollIntoView()}}else{wpaicg_ai_thinking=chat.getElementsByClassName('wpaicg-bot-thinking')[0];wpaicg_messages_box=chat.getElementsByClassName('wpaicg-chat-shortcode-messages')[0];class_user_item='wpaicg-user-message';class_ai_item='wpaicg-ai-message'}
if(wpaicg_use_avatar){wpaicg_you='<img src="'+wpaicg_user_avatar+'" height="40" width="40">';wpaicg_ai_name='<img src="'+wpaicg_ai_avatar+'" height="40" width="40">'}
wpaicg_ai_thinking.style.display='block';let wpaicg_question=wpaicgescapeHtml(wpaicg_box_typing.value);if(!wpaicg_question.trim()&&blob===undefined){wpaicg_ai_thinking.style.display='none';return}
wpaicgMessage+='<li class="'+class_user_item+'" style="background-color:'+wpaicg_user_bg+';font-size: '+wpaicg_font_size+'px;color: '+wpaicg_font_color+'">';wpaicgMessage+='<strong class="wpaicg-chat-avatar">'+wpaicg_you+'</strong>';wpaicgData.append('_wpnonce',wpaicg_nonce);wpaicgData.append('post_id',post_id);if(chat_pdf&&chat_pdf!==null){wpaicgData.append('namespace',chat_pdf)}
wpaicgData.append('url',url);if(type==='widget'){wpaicgData.append('action','wpaicg_chatbox_message')}else{wpaicgData.append('action','wpaicg_chat_shortcode_message')}
if(blob!==undefined){let url=URL.createObjectURL(blob);wpaicgMessage+='<audio src="'+url+'" controls="true"></audio>';wpaicgData.append('audio',blob,'wpaicg-chat-recording.wav')}else if(wpaicg_question!==''){wpaicgData.append('message',wpaicg_question);wpaicgMessage+=wpaicg_question.replace(/\n/g,'<br>')}
wpaicgData.append('bot_id',wpaicg_bot_id);wpaicgMessage+='</li>';if(imageUrl!==''){wpaicgMessage+='<li class="'+class_user_item+'" style="background-color:'+wpaicg_user_bg+';font-size: '+wpaicg_font_size+'px;color: '+wpaicg_font_color+'">';wpaicgMessage+='<div style="max-width: 300px; height: auto; display: flex;">';wpaicgMessage+='<img src="'+imageUrl+'" style="max-width: 100%; height: auto;" onload="this.parentElement.parentElement.parentElement.scrollTop = this.parentElement.parentElement.parentElement.scrollHeight;">';wpaicgMessage+='</div>';wpaicgMessage+='</li>'}
wpaicg_messages_box.innerHTML+=wpaicgMessage;wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight;var thumbnailPlaceholder=document.querySelector('.wpaicg-thumbnail-placeholder');if(thumbnailPlaceholder){thumbnailPlaceholder.style.display='none'}
if(imageInput){imageInput.value=''}
let chat_type=chat.getAttribute('data-type');let stream_nav;let chatbot_identity;if(wpaicg_bot_id&&wpaicg_bot_id!=="0"){stream_nav=openai_stream_nav;chatbot_identity='custom_bot_'+wpaicg_bot_id}else{if(chat_type==="shortcode"){stream_nav=chat.getAttribute('data-openai_stream_nav');chatbot_identity='shortcode'}else if(chat_type==="widget"){stream_nav=chat.getAttribute('data-openai_stream_nav');chatbot_identity='widget'}}
wpaicgData.append('chatbot_identity',chatbot_identity);let clientID=localStorage.getItem('wpaicg_chat_client_id');if(!clientID){clientID=generateRandomString(10);localStorage.setItem('wpaicg_chat_client_id',clientID)}
wpaicgData.append('wpaicg_chat_client_id',clientID);if(imageInputThumbnail){imageInputThumbnail.style.display='none'}
function updateChatHistory(message,sender,wpaicg_randomnum){let chatHistoryKey='wpaicg_chat_history_'+chatbot_identity+'_'+clientID;let chatHistory=localStorage.getItem(chatHistoryKey);let memory_limit=chat.getAttribute('data-memory-limit');if(memory_limit===null||memory_limit===undefined){memory_limit=100}
chatHistory=chatHistory?JSON.parse(chatHistory):[];let formattedMessage=(sender==='user'?"Human: ":"AI: ")+message.trim();chatHistory.push({id:wpaicg_randomnum,text:formattedMessage,});if(chatHistory.length>memory_limit){chatHistory=chatHistory.slice(-memory_limit)}
localStorage.setItem(chatHistoryKey,JSON.stringify(chatHistory))}
if(stream_nav==="1"){updateChatHistory(wpaicg_question,'user');wpaicgData.append('wpaicg_chat_history',localStorage.getItem('wpaicg_chat_history_'+chatbot_identity+'_'+clientID));handleStreaming(wpaicgData,wpaicg_messages_box,wpaicg_box_typing,wpaicg_ai_thinking,class_ai_item,chat,chatbot_identity,clientID,wpaicg_use_avatar,wpaicg_ai_avatar,wpaicg_nonce)}else{updateChatHistory(wpaicg_question,'user');wpaicgData.append('wpaicg_chat_history',localStorage.getItem('wpaicg_chat_history_'+chatbot_identity+'_'+clientID));var wpaicg_randomnum=Math.floor((Math.random()*100000)+1);const chatId=`wpaicg-chat-message-${wpaicg_randomnum}`;wpaicgData.append('chat_id',wpaicg_randomnum);const copyEnabled=chat.getAttribute('data-copy_btn')==="1";const feedbackEnabled=chat.getAttribute('data-feedback_btn')==="1";const fontColor=chat.getAttribute('data-color');const usrBg=chat.getAttribute('data-user-bg-color');const emptyClipboardSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-copy" viewBox="0 0 16 16">
            <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z"/>
            </svg>`;const checkedClipboardSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-check2" viewBox="0 0 16 16">
            <path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0"/>
            </svg>`;const thumbsUpSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-hand-thumbs-up" viewBox="0 0 16 16">
            <path d="M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2 2 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a10 10 0 0 0-.443.05 9.4 9.4 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a9 9 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.2 2.2 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.9.9 0 0 1-.121.416c-.165.288-.503.56-1.066.56z"/>
            </svg>`;const thumbsDownSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-hand-thumbs-down" viewBox="0 0 16 16">
            <path d="M8.864 15.674c-.956.24-1.843-.484-1.908-1.42-.072-1.05-.23-2.015-.428-2.59-.125-.36-.479-1.012-1.04-1.638-.557-.624-1.282-1.179-2.131-1.41C2.685 8.432 2 7.85 2 7V3c0-.845.682-1.464 1.448-1.546 1.07-.113 1.564-.415 2.068-.723l.048-.029c.272-.166.578-.349.97-.484C6.931.08 7.395 0 8 0h3.5c.937 0 1.599.478 1.934 1.064.164.287.254.607.254.913 0 .152-.023.312-.077.464.201.262.38.577.488.9.11.33.172.762.004 1.15.069.13.12.268.159.403.077.27.113.567.113.856s-.036.586-.113.856c-.035.12-.08.244-.138.363.394.571.418 1.2.234 1.733-.206.592-.682 1.1-1.2 1.272-.847.283-1.803.276-2.516.211a10 10 0 0 1-.443-.05 9.36 9.36 0 0 1-.062 4.51c-.138.508-.55.848-1.012.964zM11.5 1H8c-.51 0-.863.068-1.14.163-.281.097-.506.229-.776.393l-.04.025c-.555.338-1.198.73-2.49.868-.333.035-.554.29-.554.55V7c0 .255.226.543.62.65 1.095.3 1.977.997 2.614 1.709.635.71 1.064 1.475 1.238 1.977.243.7.407 1.768.482 2.85.025.362.36.595.667.518l.262-.065c.16-.04.258-.144.288-.255a8.34 8.34 0 0 0-.145-4.726.5.5 0 0 1 .595-.643h.003l.014.004.058.013a9 9 0 0 0 1.036.157c.663.06 1.457.054 2.11-.163.175-.059.45-.301.57-.651.107-.308.087-.67-.266-1.021L12.793 7l.353-.354c.043-.042.105-.14.154-.315.048-.167.075-.37.075-.581s-.027-.414-.075-.581c-.05-.174-.111-.273-.154-.315l-.353-.354.353-.354c.047-.047.109-.176.005-.488a2.2 2.2 0 0 0-.505-.804l-.353-.354.353-.354c.006-.005.041-.05.041-.17a.9.9 0 0 0-.121-.415C12.4 1.272 12.063 1 11.5 1"/>
            </svg>`;const xhttp=new XMLHttpRequest();wpaicg_box_typing.value='';xhttp.open('POST',wpaicgParams.ajax_url,!0);xhttp.send(wpaicgData);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){var wpaicg_message='';var wpaicg_response_text='';if(xhttp.status===200){var wpaicg_response=this.responseText;if(wpaicg_response!==''){wpaicg_response=JSON.parse(wpaicg_response);wpaicg_ai_thinking.style.display='none'
if(wpaicg_response.status==='success'){wpaicg_response_text=wpaicg_response.data;wpaicg_message=`
                                    <li class="${class_ai_item} wpaicg-icon-container" style="background-color:${wpaicg_ai_bg};font-size:${wpaicg_font_size}px;color:${wpaicg_font_color}">
                                        <p style="width:100%">
                                            <strong class="wpaicg-chat-avatar">${wpaicg_ai_name}</strong>
                                            <span class="wpaicg-chat-message" id="${chatId}">${wpaicg_response_text}</span>
                                            ${copyEnabled ? `<button class="wpaicg-copy-button" data-chat-id="${chatId}">${emptyClipboardSVG}</button>` : ''}
                                            ${feedbackEnabled ? `<button class="wpaicg-thumbs-up-button" data-chat-id="${chatId}">${thumbsUpSVG}</button><button class="wpaicg-thumbs-down-button" data-chat-id="${chatId}">${thumbsDownSVG}</button>` : ''}
                                        </p>
                                    </li>
                                `}else{wpaicg_response_text=wpaicg_response.msg;wpaicg_message='<li class="'+class_ai_item+'" style="background-color:'+wpaicg_ai_bg+';font-size: '+wpaicg_font_size+'px;color: '+wpaicg_font_color+'"><p style="width:100%"><strong class="wpaicg-chat-avatar">'+wpaicg_ai_name+'</strong><span class="wpaicg-chat-message wpaicg-chat-message-error" id="wpaicg-chat-message-'+wpaicg_randomnum+'"></span>'}}}else{wpaicg_message='<li class="'+class_ai_item+'" style="background-color:'+wpaicg_ai_bg+';font-size: '+wpaicg_font_size+'px;color: '+wpaicg_font_color+'"><p style="width:100%"><strong class="wpaicg-chat-avatar">'+wpaicg_ai_name+'</strong><span class="wpaicg-chat-message wpaicg-chat-message-error" id="wpaicg-chat-message-'+wpaicg_randomnum+'"></span>';wpaicg_response_text='Something went wrong. Please clear your cache and try again.';wpaicg_ai_thinking.style.display='none'}
if(wpaicg_response_text==='null'||wpaicg_response_text===null){wpaicg_response_text='Empty response from api. Check your server logs for more details.'}
setupButtonListeners(copyEnabled,feedbackEnabled,class_ai_item,emptyClipboardSVG,checkedClipboardSVG,thumbsUpSVG,thumbsDownSVG,showFeedbackModal,wpaicg_ai_bg,wpaicg_font_color,usrBg,chat,wpaicg_nonce,chatbot_identity);updateChatHistory(wpaicg_response_text,'ai',wpaicg_randomnum);if(wpaicg_response_text!==''&&wpaicg_message!==''){if(parseInt(wpaicg_speech)==1&&(userVoiceControl=="1"?isAudioEnabledByUser:!0)){if(voice_service==='google'){wpaicg_ai_thinking.style.display='block';let speechData=new FormData();speechData.append('nonce',wpaicg_nonce);speechData.append('action','wpaicg_google_speech');speechData.append('language',voice_language);speechData.append('name',voice_name);speechData.append('device',voice_device);speechData.append('speed',voice_speed);speechData.append('pitch',voice_pitch);speechData.append('text',wpaicg_response_text);var speechRequest=new XMLHttpRequest();speechRequest.open("POST",wpaicgParams.ajax_url);speechRequest.onload=function(){var result=speechRequest.responseText;try{result=JSON.parse(result);if(result.status==='success'){var byteCharacters=atob(result.audio);const byteNumbers=new Array(byteCharacters.length);for(let i=0;i<byteCharacters.length;i++){byteNumbers[i]=byteCharacters.charCodeAt(i)}
const byteArray=new Uint8Array(byteNumbers);const blob=new Blob([byteArray],{type:'audio/mp3'});const blobUrl=URL.createObjectURL(blob);wpaicg_message+='<audio style="margin-top:6px;" controls="controls"><source type="audio/mpeg" src="'+blobUrl+'"></audio>';wpaicg_message+='</p></li>';wpaicg_ai_thinking.style.display='none';wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight;wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}else{var errorMessageDetail='Google: '+result.msg;wpaicg_ai_thinking.style.display='none';if(parseInt(wpaicg_voice_error)!==1){wpaicg_message+='<span style="width: 100%;display: block;font-size: 11px;">'+errorMessageDetail+'</span>'}else if(typeof wpaicg_response!=='undefined'&&typeof wpaicg_response.log!=='undefined'&&wpaicg_response.log!==''){var speechLogMessage=new FormData();speechLogMessage.append('nonce',wpaicg_nonce);speechLogMessage.append('log_id',wpaicg_response.log);speechLogMessage.append('message',errorMessageDetail);speechLogMessage.append('action','wpaicg_speech_error_log');var speechErrorRequest=new XMLHttpRequest();speechErrorRequest.open("POST",wpaicgParams.ajax_url);speechErrorRequest.send(speechLogMessage)}
wpaicg_message+='</p></li>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}}catch(errorSpeech){}}
speechRequest.send(speechData)}else if(voice_service==='openai'){let speechData=new FormData();speechData.append('action','wpaicg_openai_speech');speechData.append('nonce',wpaicg_nonce);speechData.append('text',wpaicg_response_text);speechData.append('model',openai_model);speechData.append('voice',openai_voice);speechData.append('output_format',openai_output_format);speechData.append('speed',openai_voice_speed);wpaicg_ai_thinking.style.display='block';var speechRequest=new XMLHttpRequest();speechRequest.open("POST",wpaicgParams.ajax_url);speechRequest.responseType="arraybuffer";speechRequest.onload=function(){if(speechRequest.status===200){wpaicg_ai_thinking.style.display='none';const audioData=speechRequest.response;const blobMimeType=getBlobMimeType(openai_output_format);const blob=new Blob([audioData],{type:blobMimeType});const blobUrl=URL.createObjectURL(blob);wpaicg_message+='<audio style="margin-top:6px;" controls="controls"><source type="audio/mpeg" src="'+blobUrl+'"></audio>';wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight;wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}else{wpaicg_ai_thinking.style.display='none';console.error('Error generating speech with OpenAI:',speechRequest.statusText);wpaicg_message+='<span style="width: 100%;display: block;font-size: 11px;">Error generating speech with OpenAI</span>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}};speechRequest.onerror=function(){wpaicg_ai_thinking.style.display='none';console.error('Network error during speech generation with OpenAI');wpaicg_message+='<span style="width: 100%;display: block;font-size: 11px;">Network error during speech generation</span>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)};speechRequest.send(speechData);function getBlobMimeType(format){switch(format){case 'opus':return'audio/opus';case 'aac':return'audio/aac';case 'flac':return'audio/flac';default:return'audio/mpeg'}}}else{let speechData=new FormData();speechData.append('nonce',wpaicg_nonce);speechData.append('message',wpaicg_response_text);speechData.append('voice',wpaicg_voice);speechData.append('elevenlabs_model',elevenlabs_model);speechData.append('action','wpaicg_text_to_speech');wpaicg_ai_thinking.style.display='block';var speechRequest=new XMLHttpRequest();speechRequest.open("POST",wpaicgParams.ajax_url);speechRequest.responseType="arraybuffer";speechRequest.onload=function(){wpaicg_ai_thinking.style.display='none';var blob=new Blob([speechRequest.response],{type:"audio/mpeg"});var fr=new FileReader();fr.onload=function(){var fileText=this.result;try{var errorMessage=JSON.parse(fileText);var errorMessageDetail='ElevenLabs: '+errorMessage.detail.message;if(parseInt(wpaicg_voice_error)!==1){wpaicg_message+='<span style="width: 100%;display: block;font-size: 11px;">'+errorMessageDetail+'</span>'}else if(typeof wpaicg_response!=='undefined'&&typeof wpaicg_response.log!=='undefined'&&wpaicg_response.log!==''){var speechLogMessage=new FormData();speechLogMessage.append('nonce',wpaicg_nonce);speechLogMessage.append('log_id',wpaicg_response.log);speechLogMessage.append('message',errorMessageDetail);speechLogMessage.append('action','wpaicg_speech_error_log');var speechErrorRequest=new XMLHttpRequest();speechErrorRequest.open("POST",wpaicgParams.ajax_url);speechErrorRequest.send(speechLogMessage)}
wpaicg_message+='</p></li>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}catch(errorBlob){var blobUrl=URL.createObjectURL(blob);wpaicg_message+='<audio style="margin-top:6px;" controls="controls"><source type="audio/mpeg" src="'+blobUrl+'"></audio>';wpaicg_message+='</p></li>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}}
fr.readAsText(blob)}
speechRequest.send(speechData)}}else{wpaicg_message+='</p></li>';wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed)}}}}}}
function hideConversationStarters(){const starters=document.querySelectorAll('.wpaicg-conversation-starters');starters.forEach(starter=>{starter.style.display='none'})}
function handleStreaming(wpaicgData,wpaicg_messages_box,wpaicg_box_typing,wpaicg_ai_thinking,class_ai_item,chat,chatbot_identity,clientID,wpaicg_use_avatar,wpaicg_ai_avatar,wpaicg_nonce){var leadFormMessage=chat.querySelector('.wpaicg-lead-form-message');if(leadFormMessage){leadFormMessage.remove();localStorage.setItem('wpaicg_lead_form_shown','1')}
const aiName=wpaicg_use_avatar?`<img src="${wpaicg_ai_avatar}" height="40" width="40">`:`${chat.getAttribute('data-ai-name')}:`;const fontSize=chat.getAttribute('data-fontsize');const aiBg=chat.getAttribute('data-ai-bg-color');const fontColor=chat.getAttribute('data-color');const usrBg=chat.getAttribute('data-user-bg-color');const copyEnabled=chat.getAttribute('data-copy_btn')==="1";const feedbackEnabled=chat.getAttribute('data-feedback_btn')==="1";wpaicg_box_typing.value='';const chatId=`wpaicg-chat-message-${Math.floor(Math.random() * 100000) + 1}`;const cleanedChatId=chatId.replace('wpaicg-chat-message-','');wpaicgData.append('chat_id',cleanedChatId);const emptyClipboardSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-copy" viewBox="0 0 16 16">
        <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z"/>
        </svg>`;const checkedClipboardSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-check2" viewBox="0 0 16 16">
        <path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0"/>
        </svg>`;const thumbsUpSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-hand-thumbs-up" viewBox="0 0 16 16">
        <path d="M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2 2 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a10 10 0 0 0-.443.05 9.4 9.4 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a9 9 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.2 2.2 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.9.9 0 0 1-.121.416c-.165.288-.503.56-1.066.56z"/>
        </svg>`;const thumbsDownSVG=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${fontColor}" class="bi bi-hand-thumbs-down" viewBox="0 0 16 16">
        <path d="M8.864 15.674c-.956.24-1.843-.484-1.908-1.42-.072-1.05-.23-2.015-.428-2.59-.125-.36-.479-1.012-1.04-1.638-.557-.624-1.282-1.179-2.131-1.41C2.685 8.432 2 7.85 2 7V3c0-.845.682-1.464 1.448-1.546 1.07-.113 1.564-.415 2.068-.723l.048-.029c.272-.166.578-.349.97-.484C6.931.08 7.395 0 8 0h3.5c.937 0 1.599.478 1.934 1.064.164.287.254.607.254.913 0 .152-.023.312-.077.464.201.262.38.577.488.9.11.33.172.762.004 1.15.069.13.12.268.159.403.077.27.113.567.113.856s-.036.586-.113.856c-.035.12-.08.244-.138.363.394.571.418 1.2.234 1.733-.206.592-.682 1.1-1.2 1.272-.847.283-1.803.276-2.516.211a10 10 0 0 1-.443-.05 9.36 9.36 0 0 1-.062 4.51c-.138.508-.55.848-1.012.964zM11.5 1H8c-.51 0-.863.068-1.14.163-.281.097-.506.229-.776.393l-.04.025c-.555.338-1.198.73-2.49.868-.333.035-.554.29-.554.55V7c0 .255.226.543.62.65 1.095.3 1.977.997 2.614 1.709.635.71 1.064 1.475 1.238 1.977.243.7.407 1.768.482 2.85.025.362.36.595.667.518l.262-.065c.16-.04.258-.144.288-.255a8.34 8.34 0 0 0-.145-4.726.5.5 0 0 1 .595-.643h.003l.014.004.058.013a9 9 0 0 0 1.036.157c.663.06 1.457.054 2.11-.163.175-.059.45-.301.57-.651.107-.308.087-.67-.266-1.021L12.793 7l.353-.354c.043-.042.105-.14.154-.315.048-.167.075-.37.075-.581s-.027-.414-.075-.581c-.05-.174-.111-.273-.154-.315l-.353-.354.353-.354c.047-.047.109-.176.005-.488a2.2 2.2 0 0 0-.505-.804l-.353-.354.353-.354c.006-.005.041-.05.041-.17a.9.9 0 0 0-.121-.415C12.4 1.272 12.063 1 11.5 1"/>
        </svg>`;const messageHtml=`
            <li class="${class_ai_item} wpaicg-icon-container" style="background-color:${aiBg};font-size:${fontSize}px;color:${fontColor}">
                <p style="width:100%">
                    <strong class="wpaicg-chat-avatar">${aiName}</strong>
                    <span class="wpaicg-chat-message" id="${chatId}"></span>
                    ${copyEnabled ? `<button class="wpaicg-copy-button" data-chat-id="${chatId}">${emptyClipboardSVG}</button>` : ''}
                    ${feedbackEnabled ? `<button class="wpaicg-thumbs-up-button" data-chat-id="${chatId}">${thumbsUpSVG}</button><button class="wpaicg-thumbs-down-button" data-chat-id="${chatId}">${thumbsDownSVG}</button>` : ''}
                </p>
            </li>
        `;let buffer='';let completeAIResponse='';let dataQueue=[];let isProcessing=!1;function processBuffer(){processMarkdown(buffer,!0,chatId)}
function updateChatHistory(message,sender,chatId){const key=`wpaicg_chat_history_${chatbot_identity}_${clientID}`;const history=JSON.parse(localStorage.getItem(key)||'[]');const simpleChatId=chatId.replace('wpaicg-chat-message-','');history.push({id:simpleChatId,text:`${sender === 'user' ? "Human: " : "AI: "} ${message.trim()}`});localStorage.setItem(key,JSON.stringify(history))}
function typeWriter(text,i,elementId,callback){toggleBlinkingCursor(!1);if(i<text.length){const charToAdd=text.charAt(i);if(charToAdd==='<'){const tag=text.slice(i,i+4);if(tag==='<br>'){jQuery(`#${elementId}`).append(tag);i+=4}else{jQuery(`#${elementId}`).append(charToAdd);i++}}else{jQuery(`#${elementId}`).append(charToAdd);i++}
setTimeout(()=>typeWriter(text,i,elementId,callback),1)}else if(callback){callback();scrollToBottom()}}
function scrollToBottom(){wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight}
function processQueue(){if(dataQueue.length&&!isProcessing){isProcessing=!0;const nextChunk=dataQueue.shift();typeWriter(nextChunk,0,chatId,()=>{isProcessing=!1;processQueue()})}else{toggleBlinkingCursor(!1)}}
function toggleBlinkingCursor(isVisible){const cursorElement=jQuery(`#${chatId} .blinking-cursor`);if(isVisible){if(!cursorElement.length){jQuery(`#${chatId}`).append('<span class="blinking-cursor">|</span>')}}else{cursorElement.remove()}}
fetch(wpaicgParams.ajax_url,{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded',},body:new URLSearchParams(wpaicgData).toString(),}).then(response=>response.body).then(async(reader)=>{const decoder=new TextDecoder();const stream=reader.getReader();toggleBlinkingCursor(!0);wpaicg_ai_thinking.style.display='none';wpaicg_messages_box.innerHTML+=messageHtml;let partial='';while(!0){const{done,value}=await stream.read();if(done){toggleBlinkingCursor(!1);wpaicg_ai_thinking.style.display='none';updateChatHistory(completeAIResponse,'ai',chatId);break}
partial+=decoder.decode(value);const lines=partial.split('\n');for(let i=0;i<lines.length-1;i++){let line=lines[i];if(line.trim()===''||!line.startsWith('data: ')){continue}
line=line.slice(6);if(line==="[DONE]"){toggleBlinkingCursor(!1);wpaicg_ai_thinking.style.display='none';scrollToBottom();updateChatHistory(completeAIResponse,'ai',chatId);if(!localStorage.getItem('wpaicg_lead_form_shown')){maybeShowLeadForm(chat,chatId);scrollToBottom()}
return}
try{const resultData=JSON.parse(line);if(resultData.tokenLimitReached||resultData.messageFlagged||resultData.pineconeError||resultData.ipBanned||resultData.modflag){document.getElementById(chatId).innerHTML=`<span class="wpaicg-chat-message">${resultData.msg}</span>`;wpaicg_ai_thinking.style.display='none';toggleBlinkingCursor(!1);scrollToBottom();return}
if(resultData.error){dataQueue.push(resultData.error.message)}else{const content=resultData.choices?.[0]?.delta?.content||resultData.choices?.[0]?.text||'';buffer+=content;processBuffer();completeAIResponse+=content}
processQueue();scrollToBottom()}catch(err){console.error('Error parsing JSON:',err,line)}}
partial=lines[lines.length-1]}
if(partial.trim()!==''){const lines=partial.split('\n');for(let line of lines){if(line.trim()===''||!line.startsWith('data: ')){continue}
line=line.slice(6);if(line==="[DONE]"){toggleBlinkingCursor(!1);updateChatHistory(completeAIResponse,'ai',chatId);return}
try{const resultData=JSON.parse(line);if(resultData.tokenLimitReached||resultData.messageFlagged||resultData.pineconeError||resultData.ipBanned||resultData.modflag){document.getElementById(chatId).innerHTML=`<span class="wpaicg-chat-message">${resultData.msg}</span>`;wpaicg_ai_thinking.style.display='none';toggleBlinkingCursor(!1);scrollToBottom();return}
if(resultData.error){dataQueue.push(resultData.error.message)}else{const content=resultData.choices?.[0]?.delta?.content||resultData.choices?.[0]?.text||'';buffer+=content;processBuffer();completeAIResponse+=content}
processQueue();scrollToBottom()}catch(err){console.error('Error parsing JSON after stream end:',err,line)}}}}).catch(error=>{console.log("Fetch failed:",error);toggleBlinkingCursor(!1);wpaicg_ai_thinking.style.display='none'});setupButtonListeners(copyEnabled,feedbackEnabled,class_ai_item,emptyClipboardSVG,checkedClipboardSVG,thumbsUpSVG,thumbsDownSVG,showFeedbackModal,aiBg,fontColor,usrBg,chat,wpaicg_nonce,chatbot_identity)}
function processMarkdown(inputText,isStream=!1,chatId=null){inputText=inputText!==''?inputText.trim():'';let formattedText=inputText.replace(/(?:\r\n|\r|\n)/g,'<br>');formattedText=formattedText.replace(/^>\s*(.*)$/gm,'<blockquote>$1</blockquote>');formattedText=formattedText.replace(/^\s*-\s+(.*)$/gm,'<ul><li>$1</li></ul>');formattedText=formattedText.replace(/^\s*\d+\.\s+(.*)$/gm,'<ol><li>$1</li></ol>');formattedText=formattedText.replace(/^\s*---\s*$/gm,'<hr>');formattedText=formattedText.replace(/\*\*(.*?)\*\*/g,'<b>$1</b>');formattedText=formattedText.replace(/\*(.*?)\*/g,'<i>$1</i>');formattedText=formattedText.replace(/__(.*?)__/g,'<u>$1</u>');formattedText=formattedText.replace(/~~(.*?)~~/g,'<s>$1</s>');formattedText=formattedText.replace(/\[(.*?)\]\((https?:\/\/.*?)\)/g,'<a href="$2" target="_blank">$1</a>');formattedText=formattedText.replace(/(^|[^"])(https?:\/\/[^\s<]+)/g,'$1<a href="$2" target="_blank">$2</a>');formattedText=formattedText.replace(/```([\s\S]*?)```/g,'<pre><code>$1</code></pre>');formattedText=formattedText.replace(/`([\s\S]*?)`/g,'<code>$1</code>');if(isStream&&chatId){document.getElementById(chatId).innerHTML=formattedText}
return formattedText}
function scrollToAdjust(wpaicg_messages_box){requestAnimationFrame(()=>{wpaicg_messages_box.scrollTop=wpaicg_messages_box.scrollHeight})}
function wpaicgWriteMessage(wpaicg_messages_box,wpaicg_message,wpaicg_randomnum,wpaicg_response_text,wpaicg_typewriter_effect,wpaicg_typewriter_speed){var chatContainerforLead=wpaicg_messages_box.closest('.wpaicg-chat-shortcode')||wpaicg_messages_box.closest('.wpaicg-chatbox');wpaicg_messages_box.insertAdjacentHTML('beforeend',wpaicg_message);var wpaicg_current_message=document.getElementById('wpaicg-chat-message-'+wpaicg_randomnum);if(wpaicg_current_message){var nextElement=wpaicg_current_message.closest('li').nextElementSibling;if(nextElement&&nextElement.tagName.toLowerCase()==='audio'){console.log('Audio found. Playing audio:',nextElement);nextElement.play()}else{console.log('No audio found next to the current message.')}}else{console.log('Current message not found.')}
var formattedText=processMarkdown(wpaicg_response_text);if(wpaicg_typewriter_effect){let index=0;function typeWriter(){if(index<formattedText.length){wpaicg_current_message.innerHTML=formattedText.slice(0,index+1);index++;setTimeout(typeWriter,wpaicg_typewriter_speed);scrollToAdjust(wpaicg_messages_box)}else{scrollToAdjust(wpaicg_messages_box)}}
typeWriter()}else{wpaicg_current_message.innerHTML=formattedText;scrollToAdjust(wpaicg_messages_box)}
if(!localStorage.getItem('wpaicg_lead_form_shown')){maybeShowLeadForm(chatContainerforLead,'wpaicg-chat-message-'+wpaicg_randomnum);scrollToAdjust(wpaicg_messages_box)}}
function wpaicgMicEvent(mic){if(mic.classList.contains('wpaicg-recording')){mic.innerHTML='';mic.innerHTML=wpaicgMicIcon;mic.classList.remove('wpaicg-recording');wpaicgstopChatRecording(mic)}else{let checkRecording=document.querySelectorAll('.wpaicg-recording');if(checkRecording&&checkRecording.length){alert('Please finish previous recording')}else{mic.innerHTML='';mic.innerHTML=wpaicgStopIcon;mic.classList.add('wpaicg-recording');wpaicgstartChatRecording()}}}
if(wpaicgChatTyping&&wpaicgChatTyping.length){for(let i=0;i<wpaicgChatTyping.length;i++){wpaicgChatTyping[i].addEventListener('keyup',function(event){if((event.which===13||event.keyCode===13)&&!event.shiftKey){let parentChat=wpaicgChatTyping[i].closest('.wpaicg-chatbox');let chatTyping=parentChat.querySelectorAll('.wpaicg-chatbox-typing')[0];wpaicgSendChatMessage(parentChat,chatTyping,'widget')}})}}
if(wpaicgShortcodeTyping&&wpaicgShortcodeTyping.length){for(let i=0;i<wpaicgShortcodeTyping.length;i++){wpaicgShortcodeTyping[i].addEventListener('keyup',function(event){if((event.which===13||event.keyCode===13)&&!event.shiftKey){let parentChat=wpaicgShortcodeTyping[i].closest('.wpaicg-chat-shortcode');let chatTyping=parentChat.querySelectorAll('.wpaicg-chat-shortcode-typing')[0];wpaicgSendChatMessage(parentChat,chatTyping,'shortcode')}})}}
if(wpaicgChatSend&&wpaicgChatSend.length){for(let i=0;i<wpaicgChatSend.length;i++){wpaicgChatSend[i].addEventListener('click',function(event){let parentChat=wpaicgChatSend[i].closest('.wpaicg-chatbox');let chatTyping=parentChat.querySelectorAll('.wpaicg-chatbox-typing')[0];wpaicgSendChatMessage(parentChat,chatTyping,'widget')})}}
if(wpaicgShortcodeSend&&wpaicgShortcodeSend.length){for(let i=0;i<wpaicgShortcodeSend.length;i++){wpaicgShortcodeSend[i].addEventListener('click',function(event){let parentChat=wpaicgShortcodeSend[i].closest('.wpaicg-chat-shortcode');let chatTyping=parentChat.querySelectorAll('.wpaicg-chat-shortcode-typing')[0];wpaicgSendChatMessage(parentChat,chatTyping,'shortcode')})}}
if(wpaicgMicBtns&&wpaicgMicBtns.length){for(let i=0;i<wpaicgMicBtns.length;i++){wpaicgMicBtns[i].addEventListener('click',function(){wpaicgMicEvent(wpaicgMicBtns[i])})}}}
wpaicgChatInit();document.addEventListener('DOMContentLoaded',loadConversations);(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Recorder=f()}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){"use strict";module.exports=require("./recorder").Recorder},{"./recorder":2}],2:[function(require,module,exports){'use strict';var _createClass=(function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.Recorder=undefined;var _inlineWorker=require('inline-worker');var _inlineWorker2=_interopRequireDefault(_inlineWorker);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
var Recorder=exports.Recorder=(function(){function Recorder(source,cfg){var _this=this;_classCallCheck(this,Recorder);this.config={bufferLen:4096,numChannels:2,mimeType:'audio/wav'};this.recording=!1;this.callbacks={getBuffer:[],exportWAV:[]};Object.assign(this.config,cfg);this.context=source.context;this.node=(this.context.createScriptProcessor||this.context.createJavaScriptNode).call(this.context,this.config.bufferLen,this.config.numChannels,this.config.numChannels);this.node.onaudioprocess=function(e){if(!_this.recording)return;var buffer=[];for(var channel=0;channel<_this.config.numChannels;channel++){buffer.push(e.inputBuffer.getChannelData(channel))}
_this.worker.postMessage({command:'record',buffer:buffer})};source.connect(this.node);this.node.connect(this.context.destination);var self={};this.worker=new _inlineWorker2.default(function(){var recLength=0,recBuffers=[],sampleRate=undefined,numChannels=undefined;self.onmessage=function(e){switch(e.data.command){case 'init':init(e.data.config);break;case 'record':record(e.data.buffer);break;case 'exportWAV':exportWAV(e.data.type);break;case 'getBuffer':getBuffer();break;case 'clear':clear();break}};function init(config){sampleRate=config.sampleRate;numChannels=config.numChannels;initBuffers()}
function record(inputBuffer){for(var channel=0;channel<numChannels;channel++){recBuffers[channel].push(inputBuffer[channel])}
recLength+=inputBuffer[0].length}
function exportWAV(type){var buffers=[];for(var channel=0;channel<numChannels;channel++){buffers.push(mergeBuffers(recBuffers[channel],recLength))}
var interleaved=undefined;if(numChannels===2){interleaved=interleave(buffers[0],buffers[1])}else{interleaved=buffers[0]}
var dataview=encodeWAV(interleaved);var audioBlob=new Blob([dataview],{type:type});self.postMessage({command:'exportWAV',data:audioBlob})}
function getBuffer(){var buffers=[];for(var channel=0;channel<numChannels;channel++){buffers.push(mergeBuffers(recBuffers[channel],recLength))}
self.postMessage({command:'getBuffer',data:buffers})}
function clear(){recLength=0;recBuffers=[];initBuffers()}
function initBuffers(){for(var channel=0;channel<numChannels;channel++){recBuffers[channel]=[]}}
function mergeBuffers(recBuffers,recLength){var result=new Float32Array(recLength);var offset=0;for(var i=0;i<recBuffers.length;i++){result.set(recBuffers[i],offset);offset+=recBuffers[i].length}
return result}
function interleave(inputL,inputR){var length=inputL.length+inputR.length;var result=new Float32Array(length);var index=0,inputIndex=0;while(index<length){result[index++]=inputL[inputIndex];result[index++]=inputR[inputIndex];inputIndex++}
return result}
function floatTo16BitPCM(output,offset,input){for(var i=0;i<input.length;i++,offset+=2){var s=Math.max(-1,Math.min(1,input[i]));output.setInt16(offset,s<0?s*0x8000:s*0x7FFF,!0)}}
function writeString(view,offset,string){for(var i=0;i<string.length;i++){view.setUint8(offset+i,string.charCodeAt(i))}}
function encodeWAV(samples){var buffer=new ArrayBuffer(44+samples.length*2);var view=new DataView(buffer);writeString(view,0,'RIFF');view.setUint32(4,36+samples.length*2,!0);writeString(view,8,'WAVE');writeString(view,12,'fmt ');view.setUint32(16,16,!0);view.setUint16(20,1,!0);view.setUint16(22,numChannels,!0);view.setUint32(24,sampleRate,!0);view.setUint32(28,sampleRate*4,!0);view.setUint16(32,numChannels*2,!0);view.setUint16(34,16,!0);writeString(view,36,'data');view.setUint32(40,samples.length*2,!0);floatTo16BitPCM(view,44,samples);return view}},self);this.worker.postMessage({command:'init',config:{sampleRate:this.context.sampleRate,numChannels:this.config.numChannels}});this.worker.onmessage=function(e){var cb=_this.callbacks[e.data.command].pop();if(typeof cb=='function'){cb(e.data.data)}}}
_createClass(Recorder,[{key:'record',value:function record(){this.recording=!0}},{key:'stop',value:function stop(){this.recording=!1}},{key:'clear',value:function clear(){this.worker.postMessage({command:'clear'})}},{key:'getBuffer',value:function getBuffer(cb){cb=cb||this.config.callback;if(!cb)throw new Error('Callback not set');this.callbacks.getBuffer.push(cb);this.worker.postMessage({command:'getBuffer'})}},{key:'exportWAV',value:function exportWAV(cb,mimeType){mimeType=mimeType||this.config.mimeType;cb=cb||this.config.callback;if(!cb)throw new Error('Callback not set');this.callbacks.exportWAV.push(cb);this.worker.postMessage({command:'exportWAV',type:mimeType})}}],[{key:'forceDownload',value:function forceDownload(blob,filename){var url=(window.URL||window.webkitURL).createObjectURL(blob);var link=window.document.createElement('a');link.href=url;link.download=filename||'output.wav';var click=document.createEvent("Event");click.initEvent("click",!0,!0);link.dispatchEvent(click)}}]);return Recorder})();exports.default=Recorder},{"inline-worker":3}],3:[function(require,module,exports){"use strict";module.exports=require("./inline-worker")},{"./inline-worker":4}],4:[function(require,module,exports){(function(global){"use strict";var _createClass=(function(){function defineProperties(target,props){for(var key in props){var prop=props[key];prop.configurable=!0;if(prop.value)prop.writable=!0}Object.defineProperties(target,props)}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}})();var _classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}};var WORKER_ENABLED=!!(global===global.window&&global.URL&&global.Blob&&global.Worker);var InlineWorker=(function(){function InlineWorker(func,self){var _this=this;_classCallCheck(this,InlineWorker);if(WORKER_ENABLED){var functionBody=func.toString().trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1];var url=global.URL.createObjectURL(new global.Blob([functionBody],{type:"text/javascript"}));return new global.Worker(url)}
this.self=self;this.self.postMessage=function(data){setTimeout(function(){_this.onmessage({data:data})},0)};setTimeout(function(){func.call(self)},0)}
_createClass(InlineWorker,{postMessage:{value:function postMessage(data){var _this=this;setTimeout(function(){_this.self.onmessage({data:data})},0)}}});return InlineWorker})();module.exports=InlineWorker}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[1])(1)});



/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under the MIT license
 */
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
    this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);



!function(t){if("function"==typeof define&&define.amd)try{define(["jquery"],t)}catch(i){define([],t)}else if("object"==typeof module&&module.exports){var e;try{e=require("jquery")}catch(i){e=null}module.exports=t(e)}else window&&(window.Slider=t(window.jQuery))}(function(t){var i;return function(t){"use strict";function i(){}function e(t){function e(i){i.prototype.option||(i.prototype.option=function(i){t.isPlainObject(i)&&(this.options=t.extend(!0,this.options,i))})}function o(i,e){t.fn[i]=function(o){if("string"==typeof o){for(var a=s.call(arguments,1),h=0,l=this.length;l>h;h++){var r=this[h],p=t.data(r,i);if(p)if(t.isFunction(p[o])&&"_"!==o.charAt(0)){var d=p[o].apply(p,a);if(void 0!==d&&d!==p)return d}else n("no such method '"+o+"' for "+i+" instance");else n("cannot call methods on "+i+" prior to initialization; attempted to call '"+o+"'")}return this}var c=this.map(function(){var s=t.data(this,i);return s?(s.option(o),s._init()):(s=new e(this,o),t.data(this,i,s)),t(this)});return!c||c.length>1?c:c[0]}}if(t){var n="undefined"==typeof console?i:function(t){console.error(t)};return t.bridget=function(t,i){e(i),o(t,i)},t.bridget}}var s=Array.prototype.slice;e(t)}(t),function(t){function e(i,e){function s(t,i){var e="data-slider-"+i.replace(/_/g,"-"),s=t.getAttribute(e);try{return JSON.parse(s)}catch(o){return s}}this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1},"string"==typeof i?this.element=document.querySelector(i):i instanceof HTMLElement&&(this.element=i),e=e?e:{};for(var n=Object.keys(this.defaultOptions),a=0;a<n.length;a++){var h=n[a],l=e[h];this._state.atio_element;l="undefined"!=typeof l?l:s(this.element,h),l=null!==l?l:this.defaultOptions[h],this.options||(this.options={}),this.options[h]=l}"vertical"!==this.options.orientation||"top"!==this.options.tooltip_position&&"bottom"!==this.options.tooltip_position?"horizontal"!==this.options.orientation||"left"!==this.options.tooltip_position&&"right"!==this.options.tooltip_position||(this.options.tooltip_position="top"):this.options.tooltip_position="right";var r,p,d,c,u,m=this.element.style.width,_=!1,v=this.element.parentNode;if(this.sliderElem)_=!0;else{this.sliderElem=document.createElement("div"),this.sliderElem.className="slider";var f=document.createElement("div");f.className="slider-track",p=document.createElement("div"),p.className="slider-track-low",r=document.createElement("div"),r.className="slider-selection",d=document.createElement("div"),d.className="slider-track-high",c=document.createElement("div"),c.className="slider-handle min-slider-handle",c.setAttribute("role","slider"),c.setAttribute("aria-valuemin",this.options.min),c.setAttribute("aria-valuemax",this.options.max),u=document.createElement("div"),u.className="slider-handle max-slider-handle",u.setAttribute("role","slider"),u.setAttribute("aria-valuemin",this.options.min),u.setAttribute("aria-valuemax",this.options.max),f.appendChild(p),f.appendChild(r),f.appendChild(d);var g=Array.isArray(this.options.labelledby);if(g&&this.options.labelledby[0]&&c.setAttribute("aria-labelledby",this.options.labelledby[0]),g&&this.options.labelledby[1]&&u.setAttribute("aria-labelledby",this.options.labelledby[1]),!g&&this.options.labelledby&&(c.setAttribute("aria-labelledby",this.options.labelledby),u.setAttribute("aria-labelledby",this.options.labelledby)),this.ticks=[],Array.isArray(this.options.ticks)&&this.options.ticks.length>0){for(a=0;a<this.options.ticks.length;a++){var y=document.createElement("div");y.className="slider-tick",this.ticks.push(y),f.appendChild(y)}r.className+=" tick-slider-selection"}if(f.appendChild(c),f.appendChild(u),this.tickLabels=[],Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",a=0;a<this.options.ticks_labels.length;a++){var b=document.createElement("div"),k=0===this.options.ticks_positions.length,E=this.options.reversed&&k?this.options.ticks_labels.length-(a+1):a;b.className="slider-tick-label",b.innerHTML=this.options.ticks_labels[E],this.tickLabels.push(b),this.tickLabelContainer.appendChild(b)}var x=function(t){var i=document.createElement("div");i.className="tooltip-arrow";var e=document.createElement("div");e.className="tooltip-inner",t.appendChild(i),t.appendChild(e)},C=document.createElement("div");C.className="tooltip tooltip-main",C.setAttribute("role","presentation"),x(C);var w=document.createElement("div");w.className="tooltip tooltip-min",w.setAttribute("role","presentation"),x(w);var L=document.createElement("div");L.className="tooltip tooltip-max",L.setAttribute("role","presentation"),x(L),this.sliderElem.appendChild(f),this.sliderElem.appendChild(C),this.sliderElem.appendChild(w),this.sliderElem.appendChild(L),this.tickLabelContainer&&this.sliderElem.appendChild(this.tickLabelContainer),v.insertBefore(this.sliderElem,this.element),this.element.style.display="none"}if(t&&(this.$element=t(this.element),this.$sliderElem=t(this.sliderElem)),this.eventToCallbackMap={},this.sliderElem.id=this.options.id,this.touchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,this.touchX=0,this.touchY=0,this.tooltip=this.sliderElem.querySelector(".tooltip-main"),this.tooltipInner=this.tooltip.querySelector(".tooltip-inner"),this.tooltip_min=this.sliderElem.querySelector(".tooltip-min"),this.tooltipInner_min=this.tooltip_min.querySelector(".tooltip-inner"),this.tooltip_max=this.sliderElem.querySelector(".tooltip-max"),this.tooltipInner_max=this.tooltip_max.querySelector(".tooltip-inner"),o[this.options.scale]&&(this.options.scale=o[this.options.scale]),_===!0&&(this._removeClass(this.sliderElem,"slider-horizontal"),this._removeClass(this.sliderElem,"slider-vertical"),this._removeClass(this.tooltip,"hide"),this._removeClass(this.tooltip_min,"hide"),this._removeClass(this.tooltip_max,"hide"),["left","top","width","height"].forEach(function(t){this._removeProperty(this.trackLow,t),this._removeProperty(this.trackSelection,t),this._removeProperty(this.trackHigh,t)},this),[this.handle1,this.handle2].forEach(function(t){this._removeProperty(t,"left"),this._removeProperty(t,"top")},this),[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(t){this._removeProperty(t,"left"),this._removeProperty(t,"top"),this._removeProperty(t,"margin-left"),this._removeProperty(t,"margin-top"),this._removeClass(t,"right"),this._removeClass(t,"top")},this)),"vertical"===this.options.orientation?(this._addClass(this.sliderElem,"slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight"):(this._addClass(this.sliderElem,"slider-horizontal"),this.sliderElem.style.width=m,this.options.orientation="horizontal",this.stylePos="left",this.mousePos="pageX",this.sizePos="offsetWidth"),this._setTooltipPosition(),Array.isArray(this.options.ticks)&&this.options.ticks.length>0&&(this.options.max=Math.max.apply(Math,this.options.ticks),this.options.min=Math.min.apply(Math,this.options.ticks)),Array.isArray(this.options.value)?(this.options.range=!0,this._state.value=this.options.value):this.options.range?this._state.value=[this.options.value,this.options.max]:this._state.value=this.options.value,this.trackLow=p||this.trackLow,this.trackSelection=r||this.trackSelection,this.trackHigh=d||this.trackHigh,"none"===this.options.selection&&(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")),this.handle1=c||this.handle1,this.handle2=u||this.handle2,_===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),a=0;a<this.ticks.length;a++)this._removeClass(this.ticks[a],"round triangle hide");var T=["round","triangle","custom"],P=-1!==T.indexOf(this.options.handle);if(P)for(this._addClass(this.handle1,this.options.handle),this._addClass(this.handle2,this.options.handle),a=0;a<this.ticks.length;a++)this._addClass(this.ticks[a],this.options.handle);this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this.setValue(this._state.value),this.handle1Keydown=this._keydown.bind(this,0),this.handle1.addEventListener("keydown",this.handle1Keydown,!1),this.handle2Keydown=this._keydown.bind(this,1),this.handle2.addEventListener("keydown",this.handle2Keydown,!1),this.mousedown=this._mousedown.bind(this),this.touchstart=this._touchstart.bind(this),this.touchmove=this._touchmove.bind(this),this.touchCapable&&(this.sliderElem.addEventListener("touchstart",this.touchstart,!1),this.sliderElem.addEventListener("touchmove",this.touchmove,!1)),this.sliderElem.addEventListener("mousedown",this.mousedown,!1),this.resize=this._resize.bind(this),window.addEventListener("resize",this.resize,!1),"hide"===this.options.tooltip?(this._addClass(this.tooltip,"hide"),this._addClass(this.tooltip_min,"hide"),this._addClass(this.tooltip_max,"hide")):"always"===this.options.tooltip?(this._showTooltip(),this._alwaysShowTooltip=!0):(this.showTooltip=this._showTooltip.bind(this),this.hideTooltip=this._hideTooltip.bind(this),this.sliderElem.addEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.addEventListener("mouseleave",this.hideTooltip,!1),this.handle1.addEventListener("focus",this.showTooltip,!1),this.handle1.addEventListener("blur",this.hideTooltip,!1),this.handle2.addEventListener("focus",this.showTooltip,!1),this.handle2.addEventListener("blur",this.hideTooltip,!1)),this.options.enabled?this.enable():this.disable()}var s={formatInvalidInputErrorMsg:function(t){return"Invalid input value '"+t+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},o={linear:{toValue:function(t){var i=t/100*(this.options.max-this.options.min),e=!0;if(this.options.ticks_positions.length>0){for(var s,o,n,a=0,h=1;h<this.options.ticks_positions.length;h++)if(t<=this.options.ticks_positions[h]){s=this.options.ticks[h-1],n=this.options.ticks_positions[h-1],o=this.options.ticks[h],a=this.options.ticks_positions[h];break}var l=(t-n)/(a-n);i=s+l*(o-s),e=!1}var r=e?this.options.min:0,p=r+Math.round(i/this.options.step)*this.options.step;return p<this.options.min?this.options.min:p>this.options.max?this.options.max:p},toPercentage:function(t){if(this.options.max===this.options.min)return 0;if(this.options.ticks_positions.length>0){for(var i,e,s,o=0,n=0;n<this.options.ticks.length;n++)if(t<=this.options.ticks[n]){i=n>0?this.options.ticks[n-1]:0,s=n>0?this.options.ticks_positions[n-1]:0,e=this.options.ticks[n],o=this.options.ticks_positions[n];break}if(n>0){var a=(t-i)/(e-i);return s+a*(o-s)}}return 100*(t-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(t){var i=0===this.options.min?0:Math.log(this.options.min),e=Math.log(this.options.max),s=Math.exp(i+(e-i)*t/100);return s=this.options.min+Math.round((s-this.options.min)/this.options.step)*this.options.step,s<this.options.min?this.options.min:s>this.options.max?this.options.max:s},toPercentage:function(t){if(this.options.max===this.options.min)return 0;var i=Math.log(this.options.max),e=0===this.options.min?0:Math.log(this.options.min),s=0===t?0:Math.log(t);return 100*(s-e)/(i-e)}}};if(i=function(t,i){return e.call(this,t,i),this},i.prototype={_init:function(){},constructor:i,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,handle:"round",reversed:!1,enabled:!0,formatter:function(t){return Array.isArray(t)?t[0]+" : "+t[1]:t},natural_arrow_keys:!1,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,scale:"linear",focus:!1,tooltip_position:null,labelledby:null,atio:""},getElement:function(){return this.sliderElem},getValue:function(){return this.options.range?this._state.value:this._state.value[0]},setValue:function(t,i,e){t||(t=0);var s=this.getValue();this._state.value=this._validateInputValue(t);var o=this._applyPrecision.bind(this);this.options.range?(this._state.value[0]=o(this._state.value[0]),this._state.value[1]=o(this._state.value[1]),this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0])),this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]))):(this._state.value=o(this._state.value),this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))],this._addClass(this.handle2,"hide"),"after"===this.options.selection?this._state.value[1]=this.options.max:this._state.value[1]=this.options.min),this.options.max>this.options.min?this._state.percentage=[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),100*this.options.step/(this.options.max-this.options.min)]:this._state.percentage=[0,0,100],this._layout();var n=this.options.range?this._state.value:this._state.value[0];return this._setDataVal(n),i===!0&&this._trigger("slide",n),s!==n&&e===!0&&this._trigger("change",{oldValue:s,newValue:n}),this},destroy:function(){this._removeSliderEventHandlers(),this.sliderElem.parentNode.removeChild(this.sliderElem),this.element.style.display="",this._cleanUpEventCallbacksMap(),this.element.removeAttribute("data"),t&&(this._unbindJQueryEventHandlers(),this.$element.removeData("slider"))},disable:function(){return this._state.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this._state.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this._state.enabled?this.disable():this.enable(),this},isEnabled:function(){return this._state.enabled},on:function(t,i){return this._bindNonQueryEventHandler(t,i),this},off:function(i,e){t?(this.$element.off(i,e),this.$sliderElem.off(i,e)):this._unbindNonQueryEventHandler(i,e)},getAttribute:function(t){return t?this.options[t]:this.options},setAttribute:function(t,i){return this.options[t]=i,this},refresh:function(){return this._removeSliderEventHandlers(),e.call(this,this.element,this.options),t&&t.data(this.element,"slider",this),this},relayout:function(){return this._resize(),this._layout(),this},_removeSliderEventHandlers:function(){this.handle1.removeEventListener("keydown",this.handle1Keydown,!1),this.handle2.removeEventListener("keydown",this.handle2Keydown,!1),this.showTooltip&&(this.handle1.removeEventListener("focus",this.showTooltip,!1),this.handle2.removeEventListener("focus",this.showTooltip,!1)),this.hideTooltip&&(this.handle1.removeEventListener("blur",this.hideTooltip,!1),this.handle2.removeEventListener("blur",this.hideTooltip,!1)),this.showTooltip&&this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1),this.hideTooltip&&this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1),this.sliderElem.removeEventListener("touchstart",this.touchstart,!1),this.sliderElem.removeEventListener("touchmove",this.touchmove,!1),this.sliderElem.removeEventListener("mousedown",this.mousedown,!1),window.removeEventListener("resize",this.resize,!1)},_bindNonQueryEventHandler:function(t,i){void 0===this.eventToCallbackMap[t]&&(this.eventToCallbackMap[t]=[]),this.eventToCallbackMap[t].push(i)},_unbindNonQueryEventHandler:function(t,i){var e=this.eventToCallbackMap[t];if(void 0!==e)for(var s=0;s<e.length;s++)if(e[s]===i){e.splice(s,1);break}},_cleanUpEventCallbacksMap:function(){for(var t=Object.keys(this.eventToCallbackMap),i=0;i<t.length;i++){var e=t[i];this.eventToCallbackMap[e]=null}},_showTooltip:function(){this.options.tooltip_split===!1?(this._addClass(this.tooltip,"in"),this.tooltip_min.style.display="none",this.tooltip_max.style.display="none"):(this._addClass(this.tooltip_min,"in"),this._addClass(this.tooltip_max,"in"),this.tooltip.style.display="none"),this._state.over=!0},_hideTooltip:function(){this._state.inDrag===!1&&this.alwaysShowTooltip!==!0&&(this._removeClass(this.tooltip,"in"),this._removeClass(this.tooltip_min,"in"),this._removeClass(this.tooltip_max,"in")),this._state.over=!1},_layout:function(){var t;if(t=this.options.reversed?[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]]:[this._state.percentage[0],this._state.percentage[1]],this.handle1.style[this.stylePos]=t[0]+"%",this.handle1.setAttribute("aria-valuenow",this._state.value[0]),this.handle2.style[this.stylePos]=t[1]+"%",this.handle2.setAttribute("aria-valuenow",this._state.value[1]),Array.isArray(this.options.ticks)&&this.options.ticks.length>0){var i="vertical"===this.options.orientation?"height":"width",e="vertical"===this.options.orientation?"marginTop":"marginLeft",s=this._state.size/(this.options.ticks.length-1);if(this.tickLabelContainer){var o=0;if(0===this.options.ticks_positions.length)"vertical"!==this.options.orientation&&(this.tickLabelContainer.style[e]=-s/2+"px"),o=this.tickLabelContainer.offsetHeight;else for(n=0;n<this.tickLabelContainer.childNodes.length;n++)this.tickLabelContainer.childNodes[n].offsetHeight>o&&(o=this.tickLabelContainer.childNodes[n].offsetHeight);"horizontal"===this.options.orientation&&(this.sliderElem.style.marginBottom=o+"px")}for(var n=0;n<this.options.ticks.length;n++){var a=this.options.ticks_positions[n]||this._toPercentage(this.options.ticks[n]);this.options.reversed&&(a=100-a),this.ticks[n].style[this.stylePos]=a+"%",this._removeClass(this.ticks[n],"in-selection"),this.options.range?a>=t[0]&&a<=t[1]&&this._addClass(this.ticks[n],"in-selection"):"after"===this.options.selection&&a>=t[0]?this._addClass(this.ticks[n],"in-selection"):"before"===this.options.selection&&a<=t[0]&&this._addClass(this.ticks[n],"in-selection"),this.tickLabels[n]&&(this.tickLabels[n].style[i]=s+"px","vertical"!==this.options.orientation&&void 0!==this.options.ticks_positions[n]?(this.tickLabels[n].style.position="absolute",this.tickLabels[n].style[this.stylePos]=a+"%",this.tickLabels[n].style[e]=-s/2+"px"):"vertical"===this.options.orientation&&(this.tickLabels[n].style.marginLeft=this.sliderElem.offsetWidth+"px",this.tickLabelContainer.style.marginTop=this.sliderElem.offsetWidth/2*-1+"px"))}}var h;if(this.options.range){h=this.options.formatter(this._state.value),this._setText(this.tooltipInner,h),this.tooltip.style[this.stylePos]=(t[1]+t[0])/2+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"),"vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px");var l=this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner_min,l);var r=this.options.formatter(this._state.value[1]);this._setText(this.tooltipInner_max,r),this.tooltip_min.style[this.stylePos]=t[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip_min,"margin-top",-this.tooltip_min.offsetHeight/2+"px"):this._css(this.tooltip_min,"margin-left",-this.tooltip_min.offsetWidth/2+"px"),this.tooltip_max.style[this.stylePos]=t[1]+"%","vertical"===this.options.orientation?this._css(this.tooltip_max,"margin-top",-this.tooltip_max.offsetHeight/2+"px"):this._css(this.tooltip_max,"margin-left",-this.tooltip_max.offsetWidth/2+"px")}else h=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner,h),this.tooltip.style[this.stylePos]=t[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px");if("vertical"===this.options.orientation)this.trackLow.style.top="0",this.trackLow.style.height=Math.min(t[0],t[1])+"%",this.trackSelection.style.top=Math.min(t[0],t[1])+"%",this.trackSelection.style.height=Math.abs(t[0]-t[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(t[0],t[1])-Math.abs(t[0]-t[1])+"%";else{this.trackLow.style.left="0",this.trackLow.style.width=Math.min(t[0],t[1])+"%",this.trackSelection.style.left=Math.min(t[0],t[1])+"%",this.trackSelection.style.width=Math.abs(t[0]-t[1])+"%",this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(t[0],t[1])-Math.abs(t[0]-t[1])+"%";var p=this.tooltip_min.getBoundingClientRect(),d=this.tooltip_max.getBoundingClientRect();"bottom"===this.options.tooltip_position?p.right>d.left?(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top="",this.tooltip_max.style.bottom="22px"):(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top=this.tooltip_min.style.top,this.tooltip_max.style.bottom=""):p.right>d.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top)}},_resize:function(t){this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this._layout()},_removeProperty:function(t,i){t.style.removeProperty?t.style.removeProperty(i):t.style.removeAttribute(i)},_mousedown:function(t){if(!this._state.enabled)return!1;this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos];var i=this._getPercentage(t);if(this.options.range){var e=Math.abs(this._state.percentage[0]-i),s=Math.abs(this._state.percentage[1]-i);this._state.dragged=s>e?0:1,this._adjustPercentageForRangeSliders(i)}else this._state.dragged=0;this._state.percentage[this._state.dragged]=i,this._layout(),this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!0;var o=this._calculateValue();return this._trigger("slideStart",o),this._setDataVal(o),this.setValue(o,!1,!0),this._pauseEvent(t),this.options.focus&&this._triggerFocusOnHandle(this._state.dragged),!0},_touchstart:function(t){if(void 0===t.changedTouches)return void this._mousedown(t);var i=t.changedTouches[0];this.touchX=i.pageX,this.touchY=i.pageY},_triggerFocusOnHandle:function(t){0===t&&this.handle1.focus(),1===t&&this.handle2.focus()},_keydown:function(t,i){if(!this._state.enabled)return!1;var e;switch(i.keyCode){case 37:case 40:e=-1;break;case 39:case 38:e=1}if(e){if(this.options.natural_arrow_keys){var s="vertical"===this.options.orientation&&!this.options.reversed,o="horizontal"===this.options.orientation&&this.options.reversed;(s||o)&&(e=-e)}var n=this._state.value[t]+e*this.options.step;return this.options.range&&(n=[t?this._state.value[0]:n,t?n:this._state.value[1]]),this._trigger("slideStart",n),this._setDataVal(n),this.setValue(n,!0,!0),this._setDataVal(n),this._trigger("slideStop",n),this._layout(),this._pauseEvent(i),!1}},_pauseEvent:function(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,t.returnValue=!1},_mousemove:function(t){if(!this._state.enabled)return!1;var i=this._getPercentage(t);this._adjustPercentageForRangeSliders(i),this._state.percentage[this._state.dragged]=i,this._layout();var e=this._calculateValue(!0);this._state.atio_element;return this.setValue(e,!0,!0),!1},_touchmove:function(t){if(void 0!==t.changedTouches){var i=t.changedTouches[0],e=i.pageX-this.touchX,s=i.pageY-this.touchY;this._state.inDrag||("vertical"===this.options.orientation&&5>=e&&e>=-5&&(s>=15||-15>=s)?this._mousedown(t):5>=s&&s>=-5&&(e>=15||-15>=e)&&this._mousedown(t))}},_adjustPercentageForRangeSliders:function(t){if(this.options.range){var i=this._getNumDigitsAfterDecimalPlace(t);i=i?i-1:0;var e=this._applyToFixedAndParseFloat(t,i);0===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[1],i)<e?(this._state.percentage[0]=this._state.percentage[1],this._state.dragged=1):1===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[0],i)>e&&(this._state.percentage[1]=this._state.percentage[0],this._state.dragged=0)}},_mouseup:function(){if(!this._state.enabled)return!1;this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),document.removeEventListener("mousemove",this.mousemove,!1),document.removeEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!1,this._state.over===!1&&this._hideTooltip();var t=this._calculateValue(!0);return this._layout(),this._setDataVal(t),this._trigger("slideStop",t),!1},_calculateValue:function(t){var i;if(this.options.range?(i=[this.options.min,this.options.max],0!==this._state.percentage[0]&&(i[0]=this._toValue(this._state.percentage[0]),i[0]=this._applyPrecision(i[0])),100!==this._state.percentage[1]&&(i[1]=this._toValue(this._state.percentage[1]),i[1]=this._applyPrecision(i[1]))):(i=this._toValue(this._state.percentage[0]),i=parseFloat(i),i=this._applyPrecision(i)),t){for(var e=[i,1/0],s=0;s<this.options.ticks.length;s++){var o=Math.abs(this.options.ticks[s]-i);o<=e[1]&&(e=[this.options.ticks[s],o])}if(e[1]<=this.options.ticks_snap_bounds)return e[0]}return i},_applyPrecision:function(t){var i=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(t,i)},_getNumDigitsAfterDecimalPlace:function(t){var i=(""+t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return i?Math.max(0,(i[1]?i[1].length:0)-(i[2]?+i[2]:0)):0},_applyToFixedAndParseFloat:function(t,i){var e=t.toFixed(i);return parseFloat(e)},_getPercentage:function(t){!this.touchCapable||"touchstart"!==t.type&&"touchmove"!==t.type||(t=t.touches[0]);var i=t[this.mousePos],e=this._state.offset[this.stylePos],s=i-e,o=s/this._state.size*100;return o=Math.round(o/this._state.percentage[2])*this._state.percentage[2],this.options.reversed&&(o=100-o),Math.max(0,Math.min(100,o))},_validateInputValue:function(t){if("number"==typeof t)return t;if(Array.isArray(t))return this._validateArray(t),t;throw new Error(s.formatInvalidInputErrorMsg(t))},_validateArray:function(t){for(var i=0;i<t.length;i++){var e=t[i];if("number"!=typeof e)throw new Error(s.formatInvalidInputErrorMsg(e))}},_setDataVal:function(t){this.element.setAttribute("data-value",t),this.element.setAttribute("value",t),this.element.value=t},_trigger:function(i,e){e=e||0===e?e:void 0;var s=this.eventToCallbackMap[i];if(s&&s.length)for(var o=0;o<s.length;o++){var n=s[o];n(e)}t&&this._triggerJQueryEvent(i,e)},_triggerJQueryEvent:function(t,i){var e={type:t,value:i};this.$element.trigger(e),this.$sliderElem.trigger(e)},_unbindJQueryEventHandlers:function(){this.$element.off(),this.$sliderElem.off()},_setText:function(t,i){"undefined"!=typeof t.textContent?t.textContent=i:"undefined"!=typeof t.innerText&&(t.innerText=i)},_removeClass:function(t,i){for(var e=i.split(" "),s=t.className,o=0;o<e.length;o++){var n=e[o],a=new RegExp("(?:\\s|^)"+n+"(?:\\s|$)");s=s.replace(a," ")}t.className=s.trim()},_addClass:function(t,i){for(var e=i.split(" "),s=t.className,o=0;o<e.length;o++){var n=e[o],a=new RegExp("(?:\\s|^)"+n+"(?:\\s|$)"),h=a.test(s);h||(s+=" "+n)}t.className=s.trim()},_offsetLeft:function(t){return t.getBoundingClientRect().left},_offsetTop:function(t){for(var i=t.offsetTop;(t=t.offsetParent)&&!isNaN(t.offsetTop);)i+=t.offsetTop,"BODY"!==t.tagName&&(i-=t.scrollTop);return i},_offset:function(t){return{left:this._offsetLeft(t),top:this._offsetTop(t)}},_css:function(i,e,s){if(t)t.style(i,e,s);else{var o=e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(t,i){return i.toUpperCase()});i.style[o]=s}},_toValue:function(t){return this.options.scale.toValue.apply(this,[t])},_toPercentage:function(t){return this.options.scale.toPercentage.apply(this,[t])},_setTooltipPosition:function(){var t=[this.tooltip,this.tooltip_min,this.tooltip_max];if("vertical"===this.options.orientation){var i=this.options.tooltip_position||"right",e="left"===i?"right":"left";t.forEach(function(t){this._addClass(t,i),t.style[e]="100%"}.bind(this))}else"bottom"===this.options.tooltip_position?t.forEach(function(t){this._addClass(t,"bottom"),t.style.top="22px"}.bind(this)):t.forEach(function(t){this._addClass(t,"top"),t.style.top=-this.tooltip.outerHeight-14+"px"}.bind(this))}},t){var n=t.fn.slider?"bootstrapSlider":"slider";t.bridget(n,i),t(function(){t("input[data-provide=slider]")[n]()})}}(t),i});!function(t,e,n,o){var i="applink",p={popup:"auto",desktop:!1,delegate:null,timeout:1500,data:i},d=!1,u=navigator.userAgent,a=null!==u.match(/iPad/i),r=!a&&(null!==u.match(/iPhone/i)||null!==u.match(/iPod/i)),s=a||r,f=!s&&null!==u.match(/android/i),c=s||f,l=function(t,e){return e.href=t.attr("href"),e.applink=t.data(e.data),e.popup=t.data("popup"),e.desktop=t.data("desktop"),e.desktop="undefined"!=typeof e.desktop&&e.desktop?"true"===e.desktop.toString():p.desktop,e.enabled=c||e.desktop?e.applink:!1,e.enabled="undefined"!=typeof e.enabled&&e.enabled?!0:!1,e.popup="undefined"!=typeof e.popup&&e.popup?"false"===e.popup.toString()?!1:e.popup:p.popup,e.popup="auto"===e.popup&&/^https?:\/\/(www\.)?(facebook|twitter)\.com/i.test(e.href)?!0:"auto"!==e.popup&&e.popup?!0:!1,e},h=function(t){setTimeout(function(){g()?d&&d.close():y(t)},t.timeout),e.location=t.applink},g=function(){return"undefined"!=typeof n.hidden?n.hidden:"undefined"!=typeof n.mozHidden?n.mozHidden:"undefined"!=typeof n.msHidden?n.msHidden:"undefined"!=typeof n.webkitHidden?n.webkitHidden:!1},y=function(t){return t.popup?m(t):(d&&!d.closed&&d.close(),void(e.location=t.href))},m=function(t){if(d&&!d.closed)return d.location.replace(t.href),d.focus(),d;var n=screen.width>620?600:screen.width,o=screen.height>300?280:screen.height,p=screen.width/2-n/2,u=screen.height/2-o/2,a="location=no,menubar=no,status=no,toolbar=no,scrollbars=no,directories=no,copyhistory=no,width="+n+",height="+o+",top="+u+",left="+p;return d=e.open(t.href,i,a),d.focus(),d},k=function(e,n){this.element=e,this.settings=t.extend({},p,n),this.init()};k.prototype={init:function(){var e=t(this.element),n=this;e.on("click."+i,this.settings.delegate,function(e){e.preventDefault();var o=l(t(this),n.settings);return o.enabled?void h(o):y(o)})},destroy:function(){t(this.element).off("."+i)}},t.fn[i]=function(e){if(e===o||"object"==typeof e)return this.each(function(){t.data(this,"plugin_"+i)||t.data(this,"plugin_"+i,new k(this,e))});if("string"!=typeof e||"_"===e[0]||"init"===e)return!0;var n,p=arguments;return this.each(function(){var o=t.data(this,"plugin_"+i);o instanceof k&&"function"==typeof o[e]&&(n=o[e].apply(o,Array.prototype.slice.call(p,1))),"destroy"===e&&t.data(this,"plugin_"+i,null)}),n!==o?n:this}}(jQuery,window,document);function isInt(val){var intRegex=/^-?\d+$/;if(!intRegex.test(val))
return!1;var intVal=parseInt(val,10);return parseFloat(val)==intVal&&!isNaN(intVal)}
jQuery.fn.eqHeights=function(options){var defaults={child:!1,parentSelector:null};var options=jQuery.extend(defaults,options);var grand_parent=jQuery(this).parent().parent().parent();if(grand_parent.hasClass('carousel-inner')||grand_parent.hasClass('tab-pane')){return}
var el=jQuery(this);if(el.length>0&&!el.data('eqHeights')){jQuery(window).bind('resize.eqHeights',function(){el.eqHeights()});el.data('eqHeights',!0)}
if(options.child&&options.child.length>0){var elmtns=jQuery(options.child,this)}else{var elmtns=jQuery(this).children()}
var prevTop=0;var max_height=0;var elements=[];var parentEl;elmtns.height('auto').each(function(){if(options.parentSelector&&parentEl!==jQuery(this).parents(options.parentSelector).get(0)){jQuery(elements).height(max_height);max_height=0;prevTop=0;elements=[];parentEl=jQuery(this).parents(options.parentSelector).get(0)}
var thisTop=this.offsetTop;if(prevTop>0&&prevTop!=thisTop){jQuery(elements).height(max_height);max_height=jQuery(this).height();elements=[]}
max_height=Math.max(max_height,jQuery(this).height());prevTop=this.offsetTop;elements.push(this)});if(max_height>250){jQuery(elements).height(max_height)}};var filter_page_reset=!1;jQuery(document).ready(function(){jQuery('a[data-applink]').applink();jQuery('iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"], iframe[src*="vimeo.com"], iframe[src*="google.com/maps"]').wrap('<div class="embed-responsive embed-responsive-16by9" />');jQuery('#comments_reply .form-submit input[type="submit"]').addClass('btn btn-at pull-right').after('<div class="clearfix"></div>');jQuery('#content p').each(function(){var $this=jQuery(this);if($this.html().replace(/\s| /g,'').length==0)$this.addClass('empty');});jQuery('.bt-slider').each(function(e){var curSlider=jQuery(this);jQuery(this).slider({formatter:function(value){if(curSlider.attr('data-slider-label')){if(Array.isArray(value)){return value[0]+curSlider.attr('data-slider-label')+" - "+value[1]+curSlider.attr('data-slider-label')}else{return value}}else{return value}}})});jQuery("#navigation .dropdown").on("show.bs.dropdown",function(event){var icon=jQuery(this).find('.extra-toggle:first').find('.glyphicon');icon.removeClass('glyphicon-plus').addClass('glyphicon-minus')});jQuery("#navigation .dropdown").on("hidden.bs.dropdown",function(event){var icon=jQuery(this).find('.extra-toggle:first').find('.glyphicon');icon.removeClass('glyphicon-minus').addClass('glyphicon-plus')});jQuery("#navigation .menu-item-has-children ul .extra-toggle").on("click",function(event){var icon=jQuery(this).find('.glyphicon');console.log(icon);if(icon.hasClass('glyphicon-plus')){icon.removeClass('glyphicon-plus').addClass('glyphicon-minus')}else{icon.removeClass('glyphicon-minus').addClass('glyphicon-plus')}});jQuery('.product-grid-hover .caption-hover-img a[data-big]').bind('mouseover click',function(e){var image_src=jQuery(this).attr('data-big');var image_target=jQuery(this).closest('.product-grid-hover').find('.img-grid-wrapper a img');var image_target_src=image_target.attr('src');jQuery(this).closest('ul').find('a').removeClass('active');jQuery(this).addClass('active');jQuery(image_target).attr('src',image_src).attr('srcset',image_src);e.preventDefault()});jQuery('#productGallery ol.carousel-indicators').on("touchstart","li",function(){var slide=jQuery(this).attr('data-slide-to');jQuery('#productGallery ol.carousel-indicators li.active').removeClass("active");jQuery(this).addClass("active");jQuery('#productGallery').carousel(parseInt(slide))});jQuery('#content .eq').eqHeights({parentSelector:'.row'});jQuery('a[data-applink]').applink();jQuery('form.filterform[data-ajax="true"] button[type="submit"]').on('click',function(){filter_page_reset=!0});jQuery('form.filterform[data-ajax="true"]').submit(function(){if(filter_page_reset){jQuery(this).parent().find('input[name="paged"]').val('1')}
var form_data=jQuery(this).serialize();var filter_id=jQuery(this).data('id');var source_id=jQuery(this).data('source-id');var button=jQuery(this).find('button[type="submit"]');var results=jQuery('.filter-results[data-form-id="'+filter_id+'"]');jQuery(document).trigger('at_filter_submit',form_data);if(results.length==0){var target=jQuery('#main #content');if(jQuery('#main #content .product-listing').length){target=jQuery('#main #content .product-listing')}
target.html('<div id="filter-results-'+filter_id+'" class="filter-results filter-results-ajaxify" data-form-id="'+filter_id+'"></div>');var results=jQuery('.filter-results[data-form-id="'+filter_id+'"]')}
button.append(' <i class="fa fa-spinner fa-spin"></i>');results.addClass('filter-loading');jQuery.ajax({type:'POST',url:ajaxurl,data:form_data+'&action=product_filter_ajax&source_id='+source_id+'&filter_id='+filter_id,success:function(data){results.html(data);button.find('i').remove();results.removeClass('filter-loading');jQuery(document).trigger('at_filter_submit_success',form_data);if(jQuery('.result-filter').length){var current_layout='grid';if(results.find('.product-list').length){current_layout='list'}
jQuery('.result-filter a[href*="layout"]').removeClass('active');jQuery('.result-filter a[data-value="'+current_layout+'"]').addClass('active')}}});return!1});jQuery(document.body).on('click','.filter-results .pagination li a',function(e){var form_id=jQuery(this).closest('.filter-results').data('form-id');var form=jQuery('form.filterform[data-id="'+form_id+'"]');var page=jQuery(this).data('page');filter_page_reset=!1;form.find('input[name="paged"]').val(page);form.submit();jQuery('html,body').animate({scrollTop:form.offset().top-100+'px'},300);return!1});if(jQuery('#respond.comment-respond input[name="user_check"]').length>0){jQuery('body:not(.logged-in) #comments_reply .form-submit input[type="submit"]').attr('disabled',!0);jQuery('#respond.comment-respond input[name="user_check"]').on('change',function(e){if(this.checked){jQuery('#comments_reply .form-submit input[type="submit"]').attr('disabled',!1)}else{jQuery('#comments_reply .form-submit input[type="submit"]').attr('disabled',!0)}})}});function getCookie(cname){var name=cname+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1)}
if(c.indexOf(name)==0){return c.substring(name.length,c.length)}}
return""}
function accept_cookie(){var now=new Date();var time=now.getTime();time+=3122064000*1000;now.setTime(time);document.cookie="allow_cookie=1;expires="+now.toUTCString()+";path=/";jQuery('.cookie-bar').slideToggle('slow')}
function display_cookie_info(){if(getCookie('allow_cookie')!='1'){jQuery('.cookie-bar').slideToggle('slow')}}
jQuery(document).ready(function(){if(jQuery('.cookie-bar').length>0){display_cookie_info();jQuery('#cookie_btn').on('click',function(){accept_cookie()});if(getCookie('allow_cookie')!='1'){jQuery(window).scroll(function(){var cookiebox=jQuery('.cookie-bar');var footer_top=parseFloat(jQuery('#footer').offset().top);var scroll_offset_y=jQuery(window).scrollTop()+jQuery(window).height();var cookiebox_bottom=cookiebox.offset().top+cookiebox.outerHeight(!0);if(footer_top<scroll_offset_y){var bottom_offset=Math.floor((scroll_offset_y-footer_top));jQuery('.cookie-bar').css('bottom',bottom_offset+'px')}else{jQuery('.cookie-bar').css('bottom','0')}})}}});function socialp(elem,m){if(m=='twitter'){var desc='';var el,els=document.getElementsByTagName("meta");var i=els.length;while(i--){el=els[i];if(el.getAttribute("property")=="og:title"){desc=el.content;break}}
var creator="";if(document.getElementsByName("twitter:creator").length){creator=document.getElementsByName("twitter:creator")[0].content}
creator=creator.replace('@','');elem.href+="&text="+encodeURIComponent(desc)+"&via="+creator+"&related="+creator}
if(m=='pinterest'){var image='';var el,els=document.getElementsByTagName("meta");var i=els.length;while(i--){el=els[i];if(el.getAttribute("property")=="og:image"){image=el.content;break}}
elem.href+="&media="+image}
elem=window.open(elem.href,"Teile diese Seite","width=600,height=500,resizable=yes");elem.moveTo(screen.width/2-300,screen.height/2-450);elem.focus()}
jQuery(function(){jQuery('a.totop').click(function(){jQuery('html,body').animate({scrollTop:0},1000);return!1})});jQuery(function(){jQuery('a.open-tab').click(function(){var target=jQuery(this).data('target');var tab=jQuery('a[aria-controls="'+target+'"]');tab.tab('show');jQuery('html,body').animate({scrollTop:tab.offset().top-100+'px'},1000);return!1})});jQuery(function(){jQuery('a.smoothscroll').click(function(){var target=jQuery(this.hash);var offset=jQuery(this).data('offset');target=target.length?target:jQuery('[name='+this.hash.slice(1)+']');if(target.length){jQuery('html,body').animate({scrollTop:target.offset().top-offset},1000);return!1}})});(function($){$(document).ready(function(){$('.navbar ul.dropdown-menu [data-toggle=dropdown]').on('click',function(event){event.preventDefault();event.stopPropagation();$(this).parent().siblings().removeClass('open');$(this).parent().toggleClass('open')})})})(jQuery);(function(a){if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],a)}else{a(jQuery)}}(function(f){var p="left",o="right",e="up",x="down",c="in",z="out",m="none",s="auto",l="swipe",t="pinch",A="tap",j="doubletap",b="longtap",y="hold",D="horizontal",u="vertical",i="all",r=10,g="start",k="move",h="end",q="cancel",a="ontouchstart" in window,v=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,d=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,B="TouchSwipe";var n={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:"label, button, input, select, textarea, a, .noSwipe",preventDefaultEvents:!0};f.fn.swipe=function(G){var F=f(this),E=F.data(B);if(E&&typeof G==="string"){if(E[G]){return E[G].apply(this,Array.prototype.slice.call(arguments,1))}else{f.error("Method "+G+" does not exist on jQuery.swipe")}}else{if(!E&&(typeof G==="object"||!G)){return w.apply(this,arguments)}}return F};f.fn.swipe.defaults=n;f.fn.swipe.phases={PHASE_START:g,PHASE_MOVE:k,PHASE_END:h,PHASE_CANCEL:q};f.fn.swipe.directions={LEFT:p,RIGHT:o,UP:e,DOWN:x,IN:c,OUT:z};f.fn.swipe.pageScroll={NONE:m,HORIZONTAL:D,VERTICAL:u,AUTO:s};f.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:i};function w(E){if(E&&(E.allowPageScroll===undefined&&(E.swipe!==undefined||E.swipeStatus!==undefined))){E.allowPageScroll=m}if(E.click!==undefined&&E.tap===undefined){E.tap=E.click}if(!E){E={}}E=f.extend({},f.fn.swipe.defaults,E);return this.each(function(){var G=f(this);var F=G.data(B);if(!F){F=new C(this,E);G.data(B,F)}})}function C(a4,av){var az=(a||d||!av.fallbackToMouseEvents),J=az?(d?(v?"MSPointerDown":"pointerdown"):"touchstart"):"mousedown",ay=az?(d?(v?"MSPointerMove":"pointermove"):"touchmove"):"mousemove",U=az?(d?(v?"MSPointerUp":"pointerup"):"touchend"):"mouseup",S=az?null:"mouseleave",aD=(d?(v?"MSPointerCancel":"pointercancel"):"touchcancel");var ag=0,aP=null,ab=0,a1=0,aZ=0,G=1,aq=0,aJ=0,M=null;var aR=f(a4);var Z="start";var W=0;var aQ=null;var T=0,a2=0,a5=0,ad=0,N=0;var aW=null,af=null;try{aR.bind(J,aN);aR.bind(aD,a9)}catch(ak){f.error("events not supported "+J+","+aD+" on jQuery.swipe")}this.enable=function(){aR.bind(J,aN);aR.bind(aD,a9);return aR};this.disable=function(){aK();return aR};this.destroy=function(){aK();aR.data(B,null);aR=null};this.option=function(bc,bb){if(av[bc]!==undefined){if(bb===undefined){return av[bc]}else{av[bc]=bb}}else{f.error("Option "+bc+" does not exist on jQuery.swipe.options")}return null};function aN(bd){if(aB()){return}if(f(bd.target).closest(av.excludedElements,aR).length>0){return}var be=bd.originalEvent?bd.originalEvent:bd;var bc,bb=a?be.touches[0]:be;Z=g;if(a){W=be.touches.length}else{bd.preventDefault()}ag=0;aP=null;aJ=null;ab=0;a1=0;aZ=0;G=1;aq=0;aQ=aj();M=aa();R();if(!a||(W===av.fingers||av.fingers===i)||aX()){ai(0,bb);T=at();if(W==2){ai(1,be.touches[1]);a1=aZ=au(aQ[0].start,aQ[1].start)}if(av.swipeStatus||av.pinchStatus){bc=O(be,Z)}}else{bc=!1}if(bc===!1){Z=q;O(be,Z);return bc}else{if(av.hold){af=setTimeout(f.proxy(function(){aR.trigger("hold",[be.target]);if(av.hold){bc=av.hold.call(aR,be,be.target)}},this),av.longTapThreshold)}ao(!0)}return null}function a3(be){var bh=be.originalEvent?be.originalEvent:be;if(Z===h||Z===q||am()){return}var bd,bc=a?bh.touches[0]:bh;var bf=aH(bc);a2=at();if(a){W=bh.touches.length}if(av.hold){clearTimeout(af)}Z=k;if(W==2){if(a1==0){ai(1,bh.touches[1]);a1=aZ=au(aQ[0].start,aQ[1].start)}else{aH(bh.touches[1]);aZ=au(aQ[0].end,aQ[1].end);aJ=ar(aQ[0].end,aQ[1].end)}G=a7(a1,aZ);aq=Math.abs(a1-aZ)}if((W===av.fingers||av.fingers===i)||!a||aX()){aP=aL(bf.start,bf.end);al(be,aP);ag=aS(bf.start,bf.end);ab=aM();aI(aP,ag);if(av.swipeStatus||av.pinchStatus){bd=O(bh,Z)}if(!av.triggerOnTouchEnd||av.triggerOnTouchLeave){var bb=!0;if(av.triggerOnTouchLeave){var bg=aY(this);bb=E(bf.end,bg)}if(!av.triggerOnTouchEnd&&bb){Z=aC(k)}else{if(av.triggerOnTouchLeave&&!bb){Z=aC(h)}}if(Z==q||Z==h){O(bh,Z)}}}else{Z=q;O(bh,Z)}if(bd===!1){Z=q;O(bh,Z)}}function L(bb){var bc=bb.originalEvent;if(a){if(bc.touches.length>0){F();return!0}}if(am()){W=ad}a2=at();ab=aM();if(ba()||!an()){Z=q;O(bc,Z)}else{if(av.triggerOnTouchEnd||(av.triggerOnTouchEnd==!1&&Z===k)){bb.preventDefault();Z=h;O(bc,Z)}else{if(!av.triggerOnTouchEnd&&a6()){Z=h;aF(bc,Z,A)}else{if(Z===k){Z=q;O(bc,Z)}}}}ao(!1);return null}function a9(){W=0;a2=0;T=0;a1=0;aZ=0;G=1;R();ao(!1)}function K(bb){var bc=bb.originalEvent;if(av.triggerOnTouchLeave){Z=aC(h);O(bc,Z)}}function aK(){aR.unbind(J,aN);aR.unbind(aD,a9);aR.unbind(ay,a3);aR.unbind(U,L);if(S){aR.unbind(S,K)}ao(!1)}function aC(bf){var be=bf;var bd=aA();var bc=an();var bb=ba();if(!bd||bb){be=q}else{if(bc&&bf==k&&(!av.triggerOnTouchEnd||av.triggerOnTouchLeave)){be=h}else{if(!bc&&bf==h&&av.triggerOnTouchLeave){be=q}}}return be}function O(bd,bb){var bc=undefined;if((I()||V())||(P()||aX())){if(I()||V()){bc=aF(bd,bb,l)}if((P()||aX())&&bc!==!1){bc=aF(bd,bb,t)}}else{if(aG()&&bc!==!1){bc=aF(bd,bb,j)}else{if(ap()&&bc!==!1){bc=aF(bd,bb,b)}else{if(ah()&&bc!==!1){bc=aF(bd,bb,A)}}}}if(bb===q){a9(bd)}if(bb===h){if(a){if(bd.touches.length==0){a9(bd)}}else{a9(bd)}}return bc}function aF(be,bb,bd){var bc=undefined;if(bd==l){aR.trigger("swipeStatus",[bb,aP||null,ag||0,ab||0,W,aQ]);if(av.swipeStatus){bc=av.swipeStatus.call(aR,be,bb,aP||null,ag||0,ab||0,W,aQ);if(bc===!1){return!1}}if(bb==h&&aV()){aR.trigger("swipe",[aP,ag,ab,W,aQ]);if(av.swipe){bc=av.swipe.call(aR,be,aP,ag,ab,W,aQ);if(bc===!1){return!1}}switch(aP){case p:aR.trigger("swipeLeft",[aP,ag,ab,W,aQ]);if(av.swipeLeft){bc=av.swipeLeft.call(aR,be,aP,ag,ab,W,aQ)}break;case o:aR.trigger("swipeRight",[aP,ag,ab,W,aQ]);if(av.swipeRight){bc=av.swipeRight.call(aR,be,aP,ag,ab,W,aQ)}break;case e:aR.trigger("swipeUp",[aP,ag,ab,W,aQ]);if(av.swipeUp){bc=av.swipeUp.call(aR,be,aP,ag,ab,W,aQ)}break;case x:aR.trigger("swipeDown",[aP,ag,ab,W,aQ]);if(av.swipeDown){bc=av.swipeDown.call(aR,be,aP,ag,ab,W,aQ)}break}}}if(bd==t){aR.trigger("pinchStatus",[bb,aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchStatus){bc=av.pinchStatus.call(aR,be,bb,aJ||null,aq||0,ab||0,W,G,aQ);if(bc===!1){return!1}}if(bb==h&&a8()){switch(aJ){case c:aR.trigger("pinchIn",[aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchIn){bc=av.pinchIn.call(aR,be,aJ||null,aq||0,ab||0,W,G,aQ)}break;case z:aR.trigger("pinchOut",[aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchOut){bc=av.pinchOut.call(aR,be,aJ||null,aq||0,ab||0,W,G,aQ)}break}}}if(bd==A){if(bb===q||bb===h){clearTimeout(aW);clearTimeout(af);if(Y()&&!H()){N=at();aW=setTimeout(f.proxy(function(){N=null;aR.trigger("tap",[be.target]);if(av.tap){bc=av.tap.call(aR,be,be.target)}},this),av.doubleTapThreshold)}else{N=null;aR.trigger("tap",[be.target]);if(av.tap){bc=av.tap.call(aR,be,be.target)}}}}else{if(bd==j){if(bb===q||bb===h){clearTimeout(aW);N=null;aR.trigger("doubletap",[be.target]);if(av.doubleTap){bc=av.doubleTap.call(aR,be,be.target)}}}else{if(bd==b){if(bb===q||bb===h){clearTimeout(aW);N=null;aR.trigger("longtap",[be.target]);if(av.longTap){bc=av.longTap.call(aR,be,be.target)}}}}}return bc}function an(){var bb=!0;if(av.threshold!==null){bb=ag>=av.threshold}return bb}function ba(){var bb=!1;if(av.cancelThreshold!==null&&aP!==null){bb=(aT(aP)-ag)>=av.cancelThreshold}return bb}function ae(){if(av.pinchThreshold!==null){return aq>=av.pinchThreshold}return!0}function aA(){var bb;if(av.maxTimeThreshold){if(ab>=av.maxTimeThreshold){bb=!1}else{bb=!0}}else{bb=!0}return bb}function al(bb,bc){if(av.preventDefaultEvents===!1){return}if(av.allowPageScroll===m){bb.preventDefault()}else{var bd=av.allowPageScroll===s;switch(bc){case p:if((av.swipeLeft&&bd)||(!bd&&av.allowPageScroll!=D)){bb.preventDefault()}break;case o:if((av.swipeRight&&bd)||(!bd&&av.allowPageScroll!=D)){bb.preventDefault()}break;case e:if((av.swipeUp&&bd)||(!bd&&av.allowPageScroll!=u)){bb.preventDefault()}break;case x:if((av.swipeDown&&bd)||(!bd&&av.allowPageScroll!=u)){bb.preventDefault()}break}}}function a8(){var bc=aO();var bb=X();var bd=ae();return bc&&bb&&bd}function aX(){return!!(av.pinchStatus||av.pinchIn||av.pinchOut)}function P(){return!!(a8()&&aX())}function aV(){var be=aA();var bg=an();var bd=aO();var bb=X();var bc=ba();var bf=!bc&&bb&&bd&&bg&&be;return bf}function V(){return!!(av.swipe||av.swipeStatus||av.swipeLeft||av.swipeRight||av.swipeUp||av.swipeDown)}function I(){return!!(aV()&&V())}function aO(){return((W===av.fingers||av.fingers===i)||!a)}function X(){return aQ[0].end.x!==0}function a6(){return!!(av.tap)}function Y(){return!!(av.doubleTap)}function aU(){return!!(av.longTap)}function Q(){if(N==null){return!1}var bb=at();return(Y()&&((bb-N)<=av.doubleTapThreshold))}function H(){return Q()}function ax(){return((W===1||!a)&&(isNaN(ag)||ag<av.threshold))}function a0(){return((ab>av.longTapThreshold)&&(ag<r))}function ah(){return!!(ax()&&a6())}function aG(){return!!(Q()&&Y())}function ap(){return!!(a0()&&aU())}function F(){a5=at();ad=event.touches.length+1}function R(){a5=0;ad=0}function am(){var bb=!1;if(a5){var bc=at()-a5;if(bc<=av.fingerReleaseThreshold){bb=!0}}return bb}function aB(){return!!(aR.data(B+"_intouch")===!0)}function ao(bb){if(bb===!0){aR.bind(ay,a3);aR.bind(U,L);if(S){aR.bind(S,K)}}else{aR.unbind(ay,a3,!1);aR.unbind(U,L,!1);if(S){aR.unbind(S,K,!1)}}aR.data(B+"_intouch",bb===!0)}function ai(bc,bb){var bd=bb.identifier!==undefined?bb.identifier:0;aQ[bc].identifier=bd;aQ[bc].start.x=aQ[bc].end.x=bb.pageX||bb.clientX;aQ[bc].start.y=aQ[bc].end.y=bb.pageY||bb.clientY;return aQ[bc]}function aH(bb){var bd=bb.identifier!==undefined?bb.identifier:0;var bc=ac(bd);bc.end.x=bb.pageX||bb.clientX;bc.end.y=bb.pageY||bb.clientY;return bc}function ac(bc){for(var bb=0;bb<aQ.length;bb++){if(aQ[bb].identifier==bc){return aQ[bb]}}}function aj(){var bb=[];for(var bc=0;bc<=5;bc++){bb.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0})}return bb}function aI(bb,bc){bc=Math.max(bc,aT(bb));M[bb].distance=bc}function aT(bb){if(M[bb]){return M[bb].distance}return undefined}function aa(){var bb={};bb[p]=aw(p);bb[o]=aw(o);bb[e]=aw(e);bb[x]=aw(x);return bb}function aw(bb){return{direction:bb,distance:0}}function aM(){return a2-T}function au(be,bd){var bc=Math.abs(be.x-bd.x);var bb=Math.abs(be.y-bd.y);return Math.round(Math.sqrt(bc*bc+bb*bb))}function a7(bb,bc){var bd=(bc/bb)*1;return bd.toFixed(2)}function ar(){if(G<1){return z}else{return c}}function aS(bc,bb){return Math.round(Math.sqrt(Math.pow(bb.x-bc.x,2)+Math.pow(bb.y-bc.y,2)))}function aE(be,bc){var bb=be.x-bc.x;var bg=bc.y-be.y;var bd=Math.atan2(bg,bb);var bf=Math.round(bd*180/Math.PI);if(bf<0){bf=360-Math.abs(bf)}return bf}function aL(bc,bb){var bd=aE(bc,bb);if((bd<=45)&&(bd>=0)){return p}else{if((bd<=360)&&(bd>=315)){return p}else{if((bd>=135)&&(bd<=225)){return o}else{if((bd>45)&&(bd<135)){return x}else{return e}}}}}function at(){var bb=new Date();return bb.getTime()}function aY(bb){bb=f(bb);var bd=bb.offset();var bc={left:bd.left,right:bd.left+bb.outerWidth(),top:bd.top,bottom:bd.top+bb.outerHeight()};return bc}function E(bb,bc){return(bb.x>bc.left&&bb.x<bc.right&&bb.y>bc.top&&bb.y<bc.bottom)}}}));jQuery('.carousel').swipe({swipeLeft:function(event,direction,distance,duration,fingerCount){jQuery(this).carousel('next')},swipeRight:function(event,direction,distance,duration,fingerCount){jQuery(this).carousel('prev')},threshold:0});function updateURLParameter(url,param,paramVal){var TheAnchor=null;var newAdditionalURL="";var tempArray=url.split("?");var baseURL=tempArray[0];var additionalURL=tempArray[1];var temp="";if(additionalURL){var tmpAnchor=additionalURL.split("#");var TheParams=tmpAnchor[0];TheAnchor=tmpAnchor[1];if(TheAnchor)
additionalURL=TheParams;tempArray=additionalURL.split("&");for(i=0;i<tempArray.length;i++){if(tempArray[i].split('=')[0]!=param){newAdditionalURL+=temp+tempArray[i];temp="&"}}}else{var tmpAnchor=baseURL.split("#");var TheParams=tmpAnchor[0];TheAnchor=tmpAnchor[1];if(TheParams)
baseURL=TheParams}
if(TheAnchor)
paramVal+="#"+TheAnchor;var rows_txt=temp+""+param+"="+paramVal;return baseURL+"?"+newAdditionalURL+rows_txt}
jQuery(window).ready(function(){var hash=location.hash.replace('#','');if(hash=='comments'&&jQuery('body').hasClass('single-product')){var offset=60;jQuery('.nav-tabs a[href="#tab-comments"]').tab('show');jQuery('html, body').animate({scrollTop:jQuery('#atTab').offset().top-offset},1000)}});jQuery(document).ready(function(){jQuery(".result-filter select#orderby").change(function(){if(jQuery('.single-filter').length&&jQuery('.single-filter .filterform[data-ajax="true"]').length){var form=jQuery('.single-filter .filterform[data-ajax="true"]');form.find('input[name="orderby"]').val(this.value);form.submit()}else if(jQuery('.widget_filter').length&&jQuery('.widget_filter .filterform[data-ajax="true"]').length){var form=jQuery('.widget_filter .filterform[data-ajax="true"]');form.find('input[name="orderby"]').val(this.value);form.submit()}else{window.location=updateURLParameter(window.location.href,'orderby',this.value)}});jQuery(".result-filter a[href*='layout']").click(function(){if(jQuery('.single-filter').length&&jQuery('.single-filter .filterform[data-ajax="true"]').length){var form=jQuery('.single-filter .filterform[data-ajax="true"]');form.find('input[name="layout"]').val(jQuery(this).attr('data-value'));form.submit();jQuery(".result-filter a[href*='layout']").removeClass('active');jQuery(this).addClass('active');return!1}else if(jQuery('.widget_filter').length&&jQuery('.widget_filter .filterform[data-ajax="true"]').length){var form=jQuery('.widget_filter .filterform[data-ajax="true"]');form.find('input[name="layout"]').val(jQuery(this).attr('data-value'));form.submit();jQuery(".result-filter a[href*='layout']").removeClass('active');jQuery(this).addClass('active');return!1}})});jQuery(document).ready(function(){if(jQuery('.product-select').length){var select2=jQuery(".product-select select").select2({"language":{"noResults":function(){return"<?php _e('Keine Treffer', 'affiliatetheme'); ?>"}},matcher:at_compare_search_filter});select2.on("change",function(){select2.find("option:disabled").prop("disabled",!1).removeData("data");select2.each(function(){var val=jQuery(this).val();select2.find("option:not(:selected)").filter(function(){return this.value==val}).prop("disabled",!0).removeData("data")})});function at_compare_search_filter(params,data){if(jQuery.trim(params.term)===''){return data}
if(typeof data.text==='undefined'){return null}
if(data.text.indexOf(params.term)>-1||data.element.getAttribute('data-ean').indexOf(params.term)>-1){var matchedData=jQuery.extend({},data,!0);return matchedData}
return!1}}});jQuery(document).ready(function(){jQuery('.widget_filter .filterform option').mousedown(function(e){e.preventDefault();var originalScrollTop=jQuery(this).parent().scrollTop();jQuery(this).prop('selected',jQuery(this).prop('selected')?!1:!0);var self=this;jQuery(this).parent().focus();setTimeout(function(){jQuery(self).parent().scrollTop(originalScrollTop)},0);return!1})});



/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){return n.apply(b,v.call(arguments,0).concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice;this.listeners=this.listeners||{},a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),this.$results.append(d)},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")});var f=e.filter("[aria-selected=true]");f.length>0?f.first().trigger("mouseenter"):e.first().trigger("mouseenter")})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";{a(h)}this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b){var c=this,d=b.id+"-results";this.$results.attr("id",d),b.on("results:all",function(a){c.clear(),c.append(a.data),b.isOpen()&&c.setClasses()}),b.on("results:append",function(a){c.append(a.data),b.isOpen()&&c.setClasses()}),b.on("query",function(a){c.showLoading(a)}),b.on("select",function(){b.isOpen()&&c.setClasses()}),b.on("unselect",function(){b.isOpen()&&c.setClasses()}),b.on("open",function(){c.$results.attr("aria-expanded","true"),c.$results.attr("aria-hidden","false"),c.setClasses(),c.ensureHighlightVisible()}),b.on("close",function(){c.$results.attr("aria-expanded","false"),c.$results.attr("aria-hidden","true"),c.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=c.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=c.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?c.trigger("close"):c.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=c.getHighlightedResults(),b=c.$results.find("[aria-selected]"),d=b.index(a);if(0!==d){var e=d-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=c.$results.offset().top,h=f.offset().top,i=c.$results.scrollTop()+(h-g);0===e?c.$results.scrollTop(0):0>h-g&&c.$results.scrollTop(i)}}),b.on("results:next",function(){var a=c.getHighlightedResults(),b=c.$results.find("[aria-selected]"),d=b.index(a),e=d+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=c.$results.offset().top+c.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=c.$results.scrollTop()+h-g;0===e?c.$results.scrollTop(0):h>g&&c.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){c.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=c.$results.scrollTop(),d=c.$results.get(0).scrollHeight-c.$results.scrollTop()+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&d<=c.$results.height();e?(c.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(c.$results.scrollTop(c.$results.get(0).scrollHeight-c.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var d=a(this),e=d.data("data");return"true"===d.attr("aria-selected")?void(c.options.get("multiple")?c.trigger("unselect",{originalEvent:b,data:e}):c.trigger("close")):void c.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(){var b=a(this).data("data");c.getHighlightedResults().removeClass("select2-results__option--highlighted"),c.trigger("results:focus",{data:b,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a){var b=this,d=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){b.trigger("focus",a)}),this.$selection.on("blur",function(a){b.trigger("blur",a)}),this.$selection.on("keydown",function(a){b.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){b.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){b.update(a.data)}),a.on("open",function(){b.$selection.attr("aria-expanded","true"),b.$selection.attr("aria-owns",d),b._attachCloseHandler(a)}),a.on("close",function(){b.$selection.attr("aria-expanded","false"),b.$selection.removeAttr("aria-activedescendant"),b.$selection.removeAttr("aria-owns"),b.$selection.focus(),b._detachCloseHandler(a)}),a.on("enable",function(){b.$selection.attr("tabindex",b._tabindex)}),a.on("disable",function(){b.$selection.attr("tabindex","-1")})},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c){function d(){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},d.prototype.bind=function(a){var b=this;d.__super__.bind.apply(this,arguments);var c=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",c),this.$selection.attr("aria-labelledby",c),this.$selection.on("mousedown",function(a){1===a.which&&b.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(){}),this.$selection.on("blur",function(){}),a.on("selection:update",function(a){b.update(a.data)})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a){var b=this.options.get("templateSelection"),c=this.options.get("escapeMarkup");return c(b(a))},d.prototype.selectionContainer=function(){return a("<span></span>")},d.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.display(b),d=this.$selection.find(".select2-selection__rendered");d.empty().append(c),d.prop("title",b.title||b.text)},d}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(){var b=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){b.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(c){var d=a(this),e=d.parent(),f=e.data("data");b.trigger("unselect",{originalEvent:c,data:f})})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a){var b=this.options.get("templateSelection"),c=this.options.get("escapeMarkup");return c(b(a))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.display(e),g=this.selectionContainer();g.append(f),g.prop("title",e.title||e.text),g.data("data",e),b.push(g)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(){function a(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},a.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},a}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle")}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus()}),b.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.focus()}),b.on("enable",function(){e.$search.prop("disabled",!1)}),b.on("disable",function(){e.$search.prop("disabled",!0)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e.trigger("blur",a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}}),this.$selection.on("input",".select2-search--inline",function(){e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input",".select2-search--inline",function(a){e.handleSearch(a)})},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.trigger("open"),this.$search.val(b.text+" ")},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","Ａ":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","Ｂ":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","Ｃ":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","Ｄ":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","Ǳ":"DZ","Ǆ":"DZ","ǲ":"Dz","ǅ":"Dz","Ⓔ":"E","Ｅ":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","Ｆ":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","Ｇ":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","Ｈ":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","Ｉ":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","Ｊ":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","Ｋ":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","Ｌ":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","Ǉ":"LJ","ǈ":"Lj","Ⓜ":"M","Ｍ":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","Ｎ":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","Ǌ":"NJ","ǋ":"Nj","Ⓞ":"O","Ｏ":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","Ｐ":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Ｑ":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","Ｒ":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","Ｓ":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","Ｔ":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","Ｕ":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","Ｖ":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","Ｗ":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","Ｘ":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Ｙ":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Ｚ":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","ａ":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","ｂ":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","ｃ":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","ｄ":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","ǳ":"dz","ǆ":"dz","ⓔ":"e","ｅ":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","ｆ":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","ｇ":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","ｈ":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","ｉ":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","ｊ":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","ｋ":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","ｌ":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","ǉ":"lj","ⓜ":"m","ｍ":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","ｎ":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ŉ":"n","ꞑ":"n","ꞥ":"n","ǌ":"nj","ⓞ":"o","ｏ":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","ｐ":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","ｑ":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","ｒ":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","ｓ":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","ｔ":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","ｕ":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","ｖ":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","ｗ":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","ｘ":"x","ẋ":"x","ẍ":"x","ⓨ":"y","ｙ":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","ｚ":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a){var b=this;this.container=a,a.on("select",function(a){b.select(a.data)}),a.on("unselect",function(a){b.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};
if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=(c.extend(!0,{},l,j),this.option(l));k.replaceWith(m)}else{var n=this.option(j);if(j.children){var o=this.convertToOptions(j.children);b.appendMany(n,o)}h.push(n)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(b,c){this.ajaxOptions=this._applyDefaults(c.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),a.__super__.constructor.call(this,b,c)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return{q:a.term}},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url(a)),"function"==typeof f.data&&(f.data=f.data(a)),this.ajaxOptions.delay&&""!==a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");if(void 0!==f&&(this.createTag=f),b.call(this,c,d),a.isArray(e))for(var g=0;g<e.length;g++){var h=e[g],i=this._normalizeItem(h),j=this.option(i);this.$element.append(j)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(){var b=(this._lastTag,this.$element.find("option[data-select2-tag]"));b.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(a,b,c){function d(a){e.select(a)}var e=this;b.term=b.term||"";var f=this.tokenizer(b,this.options,d);f.term!==b.term&&(this.$search.length&&(this.$search.val(f.term),this.$search.focus()),b.term=f.term),a.call(this,b,c)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);e(m),g=g.substr(h+1)||"",h=0}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.position=function(){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a){function b(){}return b.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},b.prototype.handleSearch=function(){if(!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},b.prototype.showSearch=function(){return!0},b}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="option load-more" role="treeitem"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(a,b,c){this.$dropdownParent=c.get("dropdownParent")||document.body,a.call(this,b,c)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c){var d=this,e="scroll.select2."+c.id,f="resize.select2."+c.id,g="orientationchange.select2."+c.id,h=this.$container.parents().filter(b.hasScroll);h.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),h.on(e,function(){var b=a(this).data("select2-scroll-position");a(this).scrollTop(b.y)}),a(window).on(e+" "+f+" "+g,function(){d._positionDropdown(),d._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c){var d="scroll.select2."+c.id,e="resize.select2."+c.id,f="orientationchange.select2."+c.id,g=this.$container.parents().filter(b.hasScroll);g.off(d),a(window).off(d+" "+e+" "+f)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=(this.$container.position(),this.$container.offset());f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom};c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){this.$dropdownContainer.width();var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(){d._handleSelectOnClose()})},a.prototype._handleSelectOnClose=function(){var a=this.getHighlightedResults();a.length<1||this.trigger("select",{data:a.data("data")})},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close")},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend({},this.defaults,l),null==l.dataAdapter){if(l.dataAdapter=null!=l.ajax?o:null!=l.data?n:m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.selectionAdapter=l.multiple?e:d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(this.options.dir=a.prop("dir")?a.prop("dir"):a.closest("[dir]").prop("dir")?a.closest("[dir]").prop("dir"):"ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this._sync=c.bind(this._syncAttributes,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._sync);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._sync)}),this._observer.observe(this.$element[0],{attributes:!0,subtree:!1})):this.$element[0].addEventListener&&this.$element[0].addEventListener("DOMAttrModified",b._sync,!1)},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("focus",function(){a.$container.addClass("select2-container--focus")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open"),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ENTER?(a.trigger("results:select"),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle"),b.preventDefault()):c===d.UP?(a.trigger("results:previous"),b.preventDefault()):c===d.DOWN?(a.trigger("results:next"),b.preventDefault()):(c===d.ESC||c===d.TAB)&&(a.close(),b.preventDefault()):(c===d.ENTER||c===d.SPACE||(c===d.DOWN||c===d.UP)&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable")):this.trigger("enable")},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||(this.trigger("query",{}),this.trigger("open"))},e.prototype.close=function(){this.isOpen()&&this.trigger("close")},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._sync),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&this.$element[0].removeEventListener("DOMAttrModified",this._sync,!1),this._sync=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery.select2",["jquery","require","./select2/core","./select2/defaults"],function(a,b,c,d){if(b("jquery.mousewheel"),null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){{var d=a.extend({},b,!0);new c(a(this),d)}}),this;if("string"==typeof b){var d=this.data("select2");null==d&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2.");var f=Array.prototype.slice.call(arguments,1),g=d[b](f);return a.inArray(b,e)>-1?this:g}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),b.define("jquery.mousewheel",["jquery"],function(a){return a}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});


